#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 5
struct 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 指向函数的指针,用于确定排序的顺序
sort与qsort用法整理
最新推荐文章于 2023-12-16 14:52:13 发布