利用标准库中sort函数进行排序
2014-09-03 17:35
246 查看
//1、利用sort进行由小到大排序:
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int a[10],i;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,a+10);
for (i=0;i<10;i++)printf("%d ",a[i]);
return 0;
}
//2、利用sort进行由大到小排序:
加上cmp函数即可,修改cmp函数(将‘>’改为‘<’)也可以进行由小到大排序,若没有cmp函数,默认是由小到大排序,如以上例子。
#include<stdio.h>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
if(a>b)
return 1;
else
return 0;
}
int main()
{
int a[10],i;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,a+10,cmp);
for (i=0;i<10;i++)printf("%d ",a[i]);
return 0;
}
//3、利用sort对结构体一级排序:
如以下程序中,按照结构体中的x由小到大的顺序,对结构体排序。[b][b][b]改变cmp函数中的比较符号,可以将排序改成按升序还是降序。[/b][/b]
[/b]
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
struct In
{
int x;
int y;
}s[5];
bool cmp(In a ,In b)
{
return a.x<b.x;
}
int main()
{
int i;
for (i=0;i<5;i++)
scanf("%d%d",&s[i].x,&s[i].y);
sort(s,s+5,cmp);
for(i=0;i<5;i++) printf("%d %d\n",s[i].x,s[i].y);
return 0;
}
//4、利用sort对结构体二级排序:
[b]如以下程序中,先按照结构体中的x由小到大的顺序,[b]对结构体排序,如果x相等,在比较y。改变cmp函数中的比较符号,可以将排序改成按升序还是降序。[/b]
[/b]
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
struct In
{
int x;
int y;
}s[5];
int cmp(In a,In b)
{
if(a.x!=b.x) return a.x<b.x;
return a.y<b.y;
}
int main()
{
int i;
for (i=0;i<5;i++)
scanf("%d%d",&s[i].x,&s[i].y);
sort(s,s+5,cmp);
for(i=0;i<5;i++) printf("%d %d\n",s[i].x,s[i].y);
return 0;
}
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int a[10],i;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,a+10);
for (i=0;i<10;i++)printf("%d ",a[i]);
return 0;
}
//2、利用sort进行由大到小排序:
加上cmp函数即可,修改cmp函数(将‘>’改为‘<’)也可以进行由小到大排序,若没有cmp函数,默认是由小到大排序,如以上例子。
#include<stdio.h>
#include<algorithm>
using namespace std;
int cmp(int a,int b)
{
if(a>b)
return 1;
else
return 0;
}
int main()
{
int a[10],i;
for (i=0;i<10;i++)
scanf("%d",&a[i]);
sort(a,a+10,cmp);
for (i=0;i<10;i++)printf("%d ",a[i]);
return 0;
}
//3、利用sort对结构体一级排序:
如以下程序中,按照结构体中的x由小到大的顺序,对结构体排序。[b][b][b]改变cmp函数中的比较符号,可以将排序改成按升序还是降序。[/b][/b]
[/b]
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
struct In
{
int x;
int y;
}s[5];
bool cmp(In a ,In b)
{
return a.x<b.x;
}
int main()
{
int i;
for (i=0;i<5;i++)
scanf("%d%d",&s[i].x,&s[i].y);
sort(s,s+5,cmp);
for(i=0;i<5;i++) printf("%d %d\n",s[i].x,s[i].y);
return 0;
}
//4、利用sort对结构体二级排序:
[b]如以下程序中,先按照结构体中的x由小到大的顺序,[b]对结构体排序,如果x相等,在比较y。改变cmp函数中的比较符号,可以将排序改成按升序还是降序。[/b]
[/b]
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
struct In
{
int x;
int y;
}s[5];
int cmp(In a,In b)
{
if(a.x!=b.x) return a.x<b.x;
return a.y<b.y;
}
int main()
{
int i;
for (i=0;i<5;i++)
scanf("%d%d",&s[i].x,&s[i].y);
sort(s,s+5,cmp);
for(i=0;i<5;i++) printf("%d %d\n",s[i].x,s[i].y);
return 0;
}
相关文章推荐
- javascript利用内置sort函数进行排序
- C++利用自带的sort函数重写比较规则后对结构体进行排序-王道机试
- 利用sort函数对数组进行排序【java】
- 利用J2ME里的RMS对记录进行排序
- 利用堆栈方式对grid进行行排序的具体操作
- 利用J2ME里的RMS对记录进行排序
- gridview利用 DataView 对象进行排序和过滤数据
- 利用J2ME里的RMS对记录进行排序
- 在SQL2005中利用NTILE()排名函数对现有数据进行排序改造
- 利用J2ME里的RMS对记录进行排序
- 利用J2ME里的RMS对记录进行排序
- 利用J2ME里的RMS对记录进行排序
- 利用 Arrays.sort 字符串 进行排序 完全按字符 排序 忽略字符大小写
- 挑战30天C++入门极限-C/C++中利用数组名/指针进行排序实例
- 利用Comparable进行排序
- 利用树型结构进行排序 选择自 0210 的 Blog
- [MSDN]如何利用qsort对CArray的继承类进行排序
- 利用J2ME里的RMS对记录进行排序
- 利用集合进行数组的排序
- 利用TreeMap进行排序