您的位置:首页 > 其它

std::sort使用方法

2011-11-19 15:38 218 查看
bool myfunction (int i,int j) { return (i < j); }
//注意:这个函数两个参数交换位置时不能得到相同的true的结果。需要包含algrithm.h头文件
//例如如果将最后一个元素改为53,将myfunction改为i <= j,则程序会报错,因为53相互比较会产生相同的bool值
//myfunction如果是i<j则为升序排列;若为i>j则为降序排列
int main () {
int myints[] = {32,71,12,45,26,80,53,12};
vector<int> myvector (myints, myints+8);               // 32 71 12 45 26 80 53 33
vector<int>::iterator it;

// using default comparison (operator <):
//sort (myvector.begin(), myvector.begin()+4);           //(12 32 45 71)26 80 53 33

// using function as comp
sort (myvector.begin()+4, myvector.end(), myfunction); // 12 32 45 71(26 33 53 80)

// print out content:
cout << "myvector contains:";
for (it=myvector.begin(); it!=myvector.end(); ++it)
cout << " " << *it;

cout << endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: