STL中的sort
来源:互联网 发布:js二维数组的遍历 编辑:程序博客网 时间:2024/05/20 05:45
快速排序,童鞋们应该都知道,所以说,博主今天就告诉大家快速排序的简单中的简单版:使用STL中的sort完成!
首先,博主先上快速排序的代码,让不知道的童鞋们看看:
#include<stdio.h> #include<stdlib.h> int a[10000]; void qsort(int x,int y){ int u,v,m,t; m=a[(x+y)/2]; u=x;v=y; while(u<v){ while(u<=v && a[u]<m)u++; while(u<=v && a[v]>m)v--; if(u<=v){ t=a[u];a[u]=a[v];a[v]=t; u++;v--; } } if(x<v)qsort(x,v); if(u<y)qsort(u,y); } int main(){ int i,j,k,m,n,max=0; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); qsort(1,n); for(i=1;i<=n;i++) printf("%d%c",a[i],i==n?'\n':' '); return 0; }
接下来,博主就告诉大家sort如何使用吧:
首先,使用sort需要加头文件:algorithm,注意,只有c++可以使用!
接下来,就是这样:这是从小到大!这是默认的
#include<algorithm>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<iostream>using namespace std;int a[10000]; int main(){ int i,j,k,m,n,max=0; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1); for(i=1;i<=n;i++) printf("%d ",a[i]); return 0; }
注意,如果a数组是从0开始存的话,那么
sort变为:
sort(a,a+n);
当然,如果排序有别的需求的话,可以这样:
这是从大到小排序:
#include<algorithm>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<iostream>using namespace std;int a[10000]; int cmp(int x,int y){return x>y;}int main(){ int i,j,k,m,n,max=0; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]); sort(a+1,a+n+1,cmp); for(i=1;i<=n;i++) printf("%d ",a[i]); return 0; }如果是要用结构体排序的话
这样:
#include<algorithm>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<iostream>using namespace std;struct node{int x, y;}a[10000]; int cmp(node x,node y){return x.x<y.x;}int main(){ int i,j,k,m,n,max=0; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i].x); sort(a+1,a+n+1,cmp); for(i=1;i<=n;i++) printf("%d ",a[i].x); return 0; }
就是这样,当然,注意cmp里面的定义和你需要排序的对象是一样的变量!
sort就是如此简单,加油,成为一名优秀的编程者!
2 0
- STL中的sort排序
- STL中的Sort 算法
- STL中的sort
- STL中的sort()函数
- ACM STL中的sort
- STL中的Sort算法
- STL中的sort函数
- STL中的Sort
- STL中的sort
- STL中的sort函数
- STL中的sort()与qsort()
- 看懂STL中的sort排序
- 使用STL中的泛型算法sort
- STL中的sort排序(转载)
- STL中的sort对结构体排序
- STL中的list::sort算法解析
- [STL源码剖析] list中的sort()函数
- STL源码分析--list中的sort算法
- java多态向上、向下转型问题
- TrueCrypt代码 之 检查卷文件系统及去除卷只读属性
- 从dmesg里分析core原因
- 使用python的yield实现任务调度.给定一个任务列表,每个任务轮流切换执行,类似于切片
- 学术工具-Citavi 简介
- STL中的sort
- Linux操作系统实时性学习总结
- MySQL主从复制
- C++ 编程题练习-Set(9-3)
- 解析心知天气API接口返回的json数据
- <c:forEach varStatus="status">中 varStatus的属性简介
- Unity Shader Example 12 (Bloom 高光)
- 尝试创建windows XP最长的路径名
- JQuery设置和去除disabled属性几种方法