简谈sort排序
来源:互联网 发布:产品经理和数据分析 编辑:程序博客网 时间:2024/03/29 03:50
//在做题中,常常需要排序,学习下sort排序
//常用头文件 # include<iostream>
// # include<algorithm>
//还有就是使用 using namespace std;
// 注意调用sort的三种方法 无第三参数,参数为自定义比较函数地址,直接调用less<>() or greater<>()
//less 从小到大 ,greater 从大到小
// 比较函数中 > 为降序 < 为升序
# include<stdio.h>
# include<stdlib.h>
# include<algorithm>
# include<iostream>
//#include<algorithm> sort头文件
using namespace std;
struct node{
int x;
int y;
}c[10];
bool cmp(int a,int b){
//return a<b;//升序
return a>b;//降序
}
bool cmp2(struct node a,struct node b){
return a.x>b.x;//降序
//return a.x<b.x;//升序
}
bool cmp3(char a,char b){
return a>b;
}
int main(){
printf("---------------对int型数组的sort\n");
int i, a[10]={1,3,4,9,5,7,5,6,8,0};
//int 数组排序
//sort 第一个参数为首元素地址,第二个参数为最后一个要排元素的地址的下一个地址
sort(a,a+10);//如果第三个参数没有,默认为升序
sort(a,a+10,greater<int>()); //从大到小
sort(a,a+10,less<int>()); //从小到大
//或者也可以自定义函数
sort(a,a+10,cmp);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("----------------对char型数的sort\n");
char b[50]="liuyixiang";
sort(b,b+10,less<char>());
sort(b,b+10,cmp3);
for(i=0;i<10;i++)
printf("%c ",b[i]);
//结构体排序
printf("----------------对结构体的sort\n");
for(i=0;i<3;i++)
scanf("%d %d",&c[i].x,&c[i].y);
sort(c,c+10,cmp2);
printf("After_sort\n");
for(i=0;i<10;i++)
printf("%d %d\n",c[i].x,c[i].y);
}
//常用头文件 # include<iostream>
// # include<algorithm>
//还有就是使用 using namespace std;
// 注意调用sort的三种方法 无第三参数,参数为自定义比较函数地址,直接调用less<>() or greater<>()
//less 从小到大 ,greater 从大到小
// 比较函数中 > 为降序 < 为升序
# include<stdio.h>
# include<stdlib.h>
# include<algorithm>
# include<iostream>
//#include<algorithm> sort头文件
using namespace std;
struct node{
int x;
int y;
}c[10];
bool cmp(int a,int b){
//return a<b;//升序
return a>b;//降序
}
bool cmp2(struct node a,struct node b){
return a.x>b.x;//降序
//return a.x<b.x;//升序
}
bool cmp3(char a,char b){
return a>b;
}
int main(){
printf("---------------对int型数组的sort\n");
int i, a[10]={1,3,4,9,5,7,5,6,8,0};
//int 数组排序
//sort 第一个参数为首元素地址,第二个参数为最后一个要排元素的地址的下一个地址
sort(a,a+10);//如果第三个参数没有,默认为升序
sort(a,a+10,greater<int>()); //从大到小
sort(a,a+10,less<int>()); //从小到大
//或者也可以自定义函数
sort(a,a+10,cmp);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("----------------对char型数的sort\n");
char b[50]="liuyixiang";
sort(b,b+10,less<char>());
sort(b,b+10,cmp3);
for(i=0;i<10;i++)
printf("%c ",b[i]);
//结构体排序
printf("----------------对结构体的sort\n");
for(i=0;i<3;i++)
scanf("%d %d",&c[i].x,&c[i].y);
sort(c,c+10,cmp2);
printf("After_sort\n");
for(i=0;i<10;i++)
printf("%d %d\n",c[i].x,c[i].y);
}
0 0
- 简谈sort排序
- 排序Sort
- Sort排序
- sort 排序
- sort排序
- sort排序
- 排序(sort)
- sort排序
- sort排序
- sort排序
- sort()排序
- sort排序
- sort排序
- sort排序
- sort 排序
- 排序sort
- sort排序
- sort排序
- LintCode 寻找旋转排序数组中的最小值
- CentOS中文显示设置
- java中常犯的几个错误,自勉。
- 第六周项目(4):数制转换
- iGrimaceVX3.0和1.44在线源手机直接安装教程
- 简谈sort排序
- Java中的equals和hashCode方法详解
- cocos2dx中UTF-8和GBK2312之间的转换
- 关于VBA Excel开发中连接MySQL数据库的问题
- android 仿微信雷达扫描
- android switch模块
- C#学习之多线程开发技术(八)
- svn 图标所表示的意思
- 用SparseArray代替HashMap