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