c++心得00007- sort part2

本文详细介绍了C++排序函数的基本用法,包括默认升序排序、自定义比较函数实现降序排序,并探讨了传值与传引用的区别。通过实例展示了如何在不同场景下灵活运用排序函数,同时预告了后续关于字符、字符串排序的讨论。

1.之前看了sort函数的一个基本用法

sort(a,a+n);   //这种默认的sort函数是按升序排。sort还有更灵活的用法。

2.sort(a,a+n,compare);compare是我们自己定义的一个函数,算是排序方法。

int cmp( const int &a, const int &b )

{
    if( a > b )
       return 1;
    else
       return 0;
}
sort(a,a+n,cmp);  // 是对数组a降序排序

或者这样写

bool compare(int a,int b)
{
      return a<b;   //升序,如果改为return a>b,则为降序。

}

至于形参还是实参这个问题我也还在研究中。照理来说应该用reference的,但是不用貌似也是能排序的。不太清楚为什么。。。呵呵,悲剧啊。

3.传值也不仅仅只是int。我下周三会贴出一道传struct排序的acm题(没用reference的)。这周不传是因为这是toj的练习,周二截至。所以在这之前就没法下载我的提交代码啦。

4.排序时sort(a,a+n);这里的a,a+n可以不用非得是数组首地址和数组地址下一位。这一点我会在acm题里给出例子。

恩,qsort和char,string的排序就下周在写吧。2333

 

 

转载于:https://www.cnblogs.com/stigmj/archive/2012/05/13/2497911.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值