您的位置:首页 > 其它

STL快速排序

2016-09-24 23:55 190 查看
/*非结构体sort排序*/
#include<iostream>

#include<algorithm>/*必须加上“算法”头文件*/

#include<cstdio>

#include<cstdlib>

#include<cstring>

#include<cmath>

using namespace std;

int a[1000001];
int cmp(int a,int b){
    return a<b;/*从小到大排序用a<b;从大到小用a>b*/
}

int main(){

    int i,j,k,m,n;

    scanf("%d",&n);

    for(i=1;i<=n;i++)

        scanf("%d",&a[i]);/*输入*/

    sort(a+1,a+n+1,cmp);/*表示a数组从1到n+1以cmp的形式排序*/

 for(i=1;i<=n;i++)

     printf("%d ",a[i]);/*输出*/

    return 0;

}
/*结构体sort排序*/

#include<iostream>

#include<algorithm>/*必须加上“算法”头文件*/

#include<cstdio>

#include<cstdlib>

#include<cstring>

#include<cmath>

using namespace std;

struct node{ /*结构体定义*/

    int x,y;

}a[10001];

int cmp(node /*node 类型*/a,node/*node 类型*/ b){

    return a.x<b.x;/*以x为根据排序*/

    /*从小到大排序用a.x<b.x;从大到小用a.x>b.x*/

}

int main(){

    int i,j,k,m,n;

    scanf("%d",&n);

    for(i=1;i<=n;i++)

        scanf("%d%d",&a[i].x,&a[i].y);/*输入*/

    sort(a+1,a+n+1,cmp);/*表示a数组从1到n+1以cmp的形式排序*/

 for(i=1;i<=n;i++)

     printf("%d %d\n",a[i].x,a[i].y);/*输出*/

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  stl 快速排序 结构体
相关文章推荐