利用STL中的sort对vector中指针元素的排序
2011-07-11 09:46
375 查看
本以为很简单的一个sort,却始终排不出来正确的顺序,让我有些纳闷,后来仔细一想,我只是对指针(地址)进行了排序,并没有对vector中的元素进行排序。
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
class MyClass
bool cmp( const MyClass* p1,const MyClass* p2 )
int _tmain(int argc, _TCHAR* argv[])
{
vector<MyClass*> m_pVector;
MyClass* a = new MyClass;
a->m_value = 12;
m_pVector.push_back(a);
a = new MyClass;
a->m_value = 25;
m_pVector.push_back(a);
a = new MyClass;
a->m_value = 8;
m_pVector.push_back(a);
sort(m_pVector.begin(),m_pVector.end(),cmp);
for (vector<MyClass*>::iterator it = m_pVector.begin(); it != m_pVector.end(); it++)
std::cout << (*it)->m_value << std::endl;
system("pause");
return 0;
}
上面就是简单的一个demo,对指针容器进行排序。
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
class MyClass
bool cmp( const MyClass* p1,const MyClass* p2 )
int _tmain(int argc, _TCHAR* argv[])
{
vector<MyClass*> m_pVector;
MyClass* a = new MyClass;
a->m_value = 12;
m_pVector.push_back(a);
a = new MyClass;
a->m_value = 25;
m_pVector.push_back(a);
a = new MyClass;
a->m_value = 8;
m_pVector.push_back(a);
sort(m_pVector.begin(),m_pVector.end(),cmp);
for (vector<MyClass*>::iterator it = m_pVector.begin(); it != m_pVector.end(); it++)
std::cout << (*it)->m_value << std::endl;
system("pause");
return 0;
}
上面就是简单的一个demo,对指针容器进行排序。
相关文章推荐
- 如何利用C++ vector的sort算法对元素是自定义类型进行排序
- JQuery利用sort对DOM元素进行排序
- STL之sort:vector排序
- STL_算法_对所有元素排序(sort、stable_sort)
- C++利用stl::sort对结构体数组中的字符串成员排序
- STL_算法_对全部元素排序(sort、stable_sort)
- STL vector find and sort vector的查找和排序
- 关于利用STL中的sort算法对向量等容器进行排序的问题
- STL—利用pair和vector对有序对类型排序
- jQuery利用sort对DOM元素进行排序操作
- STL vector+sort排序和multiset/multimap排序比较
- STL_算法(27)_对所有元素排序sort(b, e) sort(b, e, p) stable_sort(b, e) stable_sort(b, e, p)
- sort按vector元素排序
- C++/STL_利用remove_if 删除vector,list,deque满足条件的元素
- JQuery利用sort对DOM元素进行排序
- STL中vector的赋值,遍历,查找,删除,自定义排序——sort,push_back,find,erase
- STL vector+sort排序和multiset/multimap排序比较
- 利用STL中的sort算法对向量等容器进行排序
- STL中vector容器中元素为自定义类型指针时的内存泄漏问题
- STL vector+sort排序和multiset/multimap排序比较