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 指向函数的指针,用于确定排序的顺序