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;
}