vector用sort算法排序
(2013-01-09 16:37:19)
标签:
vectorsort排序杂谈 |
分类: 容器、算法 |
用sort对vector排序有两种方法
方法1:
{
};
bool Info::operator >(const Info& pinfo) const
{
}
bool Info::operator<(const Info& pinfo) const
{
}
int main(int argc, char* argv[])
{
}
方法2:
#include //容器的头文件
#include //sort算法用到的头文件
#include //greater模版函数用到的头文件
using namespace std;
struct Info {int x;};
bool copare(const Info* pfirst,const Info* psecond) //如果该vector存入的是对象的话该函数参数须是
{
}
int main(int argc, char* argv[])
{ vector m_vecInfo;
Info* pInfo;
for (int i=0;i<10;i++)
{
pInfo = new Info;
pInfo->x=i;
m_vecInfo.push_back(pInfo);
}
sort(m_vecInfo.begin(),m_vecInfo.end(),copare);
//按照自己写的排序函数进行排序
return 0;
}
总结:这两个方法都可实现vector的排序,当vector存入的是对象时两种方法都行(只要把第二种方法的用于排序的分成员函数的参数列表写成对象的引用即可),但是当vector里是指针的时候只能用第二种方法进行排序。
应该还有别的方法,但是我没有测试过,因此只介绍这两种方法。

加载中…