信息学吧 关注:215贴子:431
  • 0回复贴,共1

C++Sort用法

只看楼主收藏回复

sort类函数:sort 对给定区间所有元素进行排序stable_sort 对给定区间所有元素进行稳定排序partial_sort 对给定区间所有元素部分排序partial_sort_copy 对给定区间复制并排序nth_element 找出给定区间的某个位置对应的元素is_sorted 判断一个区间是否已经排好序partition 使得符合某个条件的元素放在前面stable_partition 相对稳定的使得符合某个条件的元素放在前面没有cmp参数,默认为非降序排序,排序结果为:1 2 3 4 5若设计为非升序排序,则cmp函数的编写:bool cmp(int a,int b){  return a>b;}其实对于这么简单的任务(类型支持“<”、“>”等比较运算符),完全没必要自己写一个类出来。标准库里已经有现成的了,就在functional里,include进来就行了。functional提供了一堆基于模板的比较函数对象。它们是(看名字就知道意思了):equal_to、not_equal_to、greater、greater_equal、less、less_equal。对于这个问题来说,greater和less就足够了,直接拿过来用:升序:sort(begin,end,less());降序:sort(begin,end,greater()).int main ( ){ int a[20]={2,4,1,23,5,76,0,43,24,65},i; for(i=0;i<20;i++) cout<<a[i]<<endl; sort(a,a+20,greater()); for(i=0;i<20;i++) cout<<a[i]<<endl; return 0;}利用sort函数还可以实现对字符的排序,排序方法大同小异,下面就把程序范例展示一下。 char a[11]="asdfghjklk"; for(int i=0;i<10;i++) cout<<a[i]<<endl; sort(a,a+10,greater()); for(int i=0;i<10;i++) cout<<a[i]<<endl;c++sort函数的使用总结c++ sort用法


1楼2019-05-14 17:16回复