sort与qsort用法整理

来源:互联网 发布:数显式推拉力计淘宝 编辑:程序博客网 时间:2024/06/05 13:28
#include<algorithm>#define N 5一.  intmain()  //简单排序。{    int a[5]; //换成char a[5]可对字符从小到大排序。        for(int i = 0; i<N; i++)            cin>>a[i];        sort(a,a+5);  //默认从小到大排序就不用写cmp.        for(int i = 0; i<N; i++)            cout<<a[i]<<"  ";} 二. int cmp(char a, char b)  //可从大到小排序。{    return a>b;} int main(){        char a[5];        for(int i = 0; i<N; i++)            cin>>a[i];  sort(a,a+5,cmp);  //从小到大排序,。可排char与int,double需改cmp        for(int i = 0; i<n; i++)            cout<<a[i]<<"  ";} 三. //结构体排序。#include<algorithm>#define N 5struct In{int x;int y;}s[100]; int cmp( const In&a, const In &b ){    if( a.x < b.x )       return 1;   // else  //将此注释去掉即第一个相等则按第二个从小到大排序     // if( a.x == b.x ){        // if( a.y < b.y )        //    return 1;         // else         //   return 0;      // }       else          return 0;} int main(){         for(int i = 0; i<n; i++)            cin>>s[i].x>>s[i].y;        sort(s,s+5,cmp);        for(int i = 0; i<n; i++)           cout<<s[i].x<<" "<<s[i].y<<endl;}Qsort 语法  (不太会用。)头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int(*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序 

原创粉丝点击