首先,sort函数包含在<algorithm>头文件中,该函数默认为升序排序,若想改为降序排序,添加第三个参数即可。
1)sort函数在简单数字排序中的应用。
bool cmp(int a, int b)
{
return a>b;//降序
}
sort(a,a+n,cmp);
2)将一个整形数组中的元素按照各个位上的和降序排序。
int arr[]={12,3,54,2};
int sum(int x);
bool cmp(int x,int y)
{
return sum(x)>sum(y);//根据sum值排序
}
sort(arr,arr+4,cmp);
3)对链表中的节点进行降序排序。
typedef struct NODE
{
int value;
int index;
}Task_node;
Task_node *task_list=new Task_node[n*sizeof(Task_node)];
sort(task_list,task_list+9,cmp);//对task_list中的9个数据进行排序
bool cmp(Task_node x,Task_node y)//而task_list中数据的类型为Task_node
{
return x.value>y.value; //根据value值排序
}
4)sort函数在vector中的应用。
vector <string> vec;
sort(vec.bengin(),vec.end()); / /按首字母的顺序排序
vector<string>::iterator vit;
for
(vit = vs.begin(); vit != vs.end(); vit++)
{
cout << *vit << endl;
}