码迷,mamicode.com
首页 > 编程语言 > 详细

【C/C++】sort/qsort使用详解

时间:2016-01-24 15:34:34      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

sort函数是C++的属于<algorithm>头文件的排序函数,默认为从小到大排序,如果需要降序或者其他更复杂排序规则,可自己编写第三方函数进行排序:sort(array,array+n,cmp);  其中cmp是可选的比较函数。

qsort函数是C语言的属于<stdlib.h>头文件的快速排序函数,qsort(array,array+n,cmp);

下面通过几个例子来说明:

C++:

1.普通升序

#include <iostream>
#include <algorithm>

using namespace std;
int main()
{
  int a[10]={7,3,4,6,5,1,2,9,8,0};
  sort(a,a+10);
  for(int i=0;i<10;i++)
  cout<<a[i]<<" ";
  return 0;
}

OUTPUT:0 1 2 3 4 5 6 7 8 9

 

2.普通降序

#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(int a,int b)
{
  return a>b;
}
int main()
{
  int a[10]={7,3,4,6,5,1,2,9,8,0};
  sort(a,a+10,cmp);
  for(int i=0;i<10;i++)
  cout<<a[i]<<" ";
  return 0;
}


OUTPUT:9 8 7 6 5 4 3 2 1 0

 

3.结构体排序

#include <iostream>
#include <algorithm>
using namespace std;
struct data
{
  int a;
  int b;
  int c;
};

bool cmp(data x,data y)
{
  if(x.a!=y.a) return x.a<x.y;
  if(x.b!=y.b) return x.b>y.b;
  if(x.c!=y.c) return x.c>y.c;
}
int main()
{
  .....
  sort(array,array+n,cmp);
  return 0;
}

 

C:

(有事出去等下回来继续qwq)

 

【C/C++】sort/qsort使用详解

标签:

原文地址:http://www.cnblogs.com/Rivrr/p/5155114.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!