首页 > 编程知识 正文

sort函数如何降序,sorted和sort的区别

时间:2023-05-04 17:08:34 阅读:114328 作者:904

随着练习代码练习题数的增加,我意识到自己和在系统中学习C的人之间还有很大的差距。 今天学习了sort函数。 这是可以在STL中直接调用的排序关系函数。 以下是我从别的博客里拿出来的,自己使用方便快捷的部分。

使用#include algorithm可以使用sort函数。 语法如下:

sort(begin,end )表示范围。 示例:

int_tmain(intargc,_TCHAR* argv[] () ) ) ) ) ) ) ) ) )。

{

inta [ 20 ]={ 2,4,1,23,5,76,0,43,24,65 },I;

for(I=0; i20; I )

couta[i]endl;

sort(a,a 20 );

for(I=0; i20; I )

couta[i]endl;

返回0;

}

输出结果按升序对数组a进行排序。

2 .可以向2.sort中添加参数,按升序降序排列。

1 )自己创建compare函数:

Ool比较(int b,int b ) )。

{

返回AB; //按升序排列,换成返回ab则按降序排列

}

2 )接下来调用三个参数的sort:sort(begin、end、compare )。 在list容器的情况下,也可以应用该方法,将compare作为sort的参数即可。 即,sort (比较)。

int_tmain(intargc,_TCHAR* argv[] () ) ) ) ) ) ) ) ) )。

{

inta [ 20 ]={ 2,4,1,23,5,76,0,43,24,65 },I;

for(I=0; i20; I )

couta[i]endl;

sort(a,a 20,比较);

for(I=0; i20; I )

couta[i]endl;

返回0;

}

3 .标准库已经有现成的。 进入功能区,include进入就行了。 functional提供了许多基于模板的比较函数对象。 它们是(看名字就知道它的意思) equal_toType、not_equal_toType、greaterType、greater_equalType、lessType、less_equalType 对于这个问题,greater和less就足够了。 就这样拿来用。 升序: sort(begin,end,lessdata-type ) )降序: sort(begin,end,greaterdata-type ).int_tmain(intargc,

{

inta [ 20 ]={ 2,4,1,23,5,76,0,43,24,65 },I;

for(I=0; i20; I )

couta[i]endl;

sort(a,a 20,greaterint ) );

for(I=0; i20; I )

couta[i]endl;

返回0;

}

以上三种方式对我现在的水平来说已经足够了,今后我会更加深入地学习。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。