几种简单排序的实现
来源:互联网 发布:南极人枕芯怎么样 知乎 编辑:程序博客网 时间:2024/05/21 21:01
#include<iostream>#include <cstring>#include <algorithm>using namespace std;void print(int a[]){ for_each(a, a+10, [&](int a){ cout<<a<<" "; }); cout<<endl;}void maopao(){//冒泡排序 int a[10]={5, 7, 1, 3, 4, 6, 8, 9, 2,0}; cout<<"冒泡排序:\n排序前:"; print(a); for (int i=0; i<9; ++i) { for (int j = i+1; j<10; j++) { if(a[i]>a[j]) swap(a[i], a[j]); } } cout<<"排序后:"; print(a);}void xuanze(){//选择排序 int a[10]={5, 7, 1, 3, 4, 6, 8, 9, 2,0}; cout<<"选择排序:\n排序前:"; print(a); for (int i=0; i<9; ++i) { int k = i; for (int j = i+1; j<10; j++) { if(a[k]<a[j]) k = j; } if(k!=i) swap(a[k], a[i]); } cout<<"排序后:"; print(a);}void charu(){//插入排序 int a[10]={5, 7, 1, 3, 4, 6, 8, 9, 2,0}; cout<<"插入排序:\n排序前:"; print(a); int first = 0,last = 10; for (int i=first; i<last; ++i) { int temp = a[i]; int j = i-1; while (j>=0&&a[j]<temp) { a[j+1] = a[j]; j--; } if(j!=i-1) a[j+1] = temp; } cout<<"排序后:"; print(a);}void Qsort(int a[],int low,int high){ if(low>=high) return; int first = low; int last = high; int key = a[first]; while (first<last) { while (first<last&&a[last]<=key) { last--; } a[first] = a[last]; while (first<last&&a[first]>=key) { first++; } a[last] = a[first]; } a[first] = key; Qsort(a, low, first-1); Qsort(a, first+1, high);}int main(){ int a[10]={5, 7, 1, 3, 4, 6, 8, 9, 2,0}; Qsort(a, 0, 9); print(a); return 0;}
0 0
- 几种简单排序的实现
- 几种排序算法的最简单实现方式
- 几种排序算法的实现及简单分析
- 几种排序算法的最简单实现方式
- 简单选择排序的几种实现和细节
- 几种常用排序方法的简单实现
- 几种简单的排序
- 几种简单的排序
- 几种简单的排序
- 几种简单的排序
- 几种简单的排序
- 几种排序算法java简单实现
- Java实现几种简单排序
- java 几种简单排序实现代码
- 几种简单排序
- 几种简单排序
- 几种简单排序
- 几种简单的排序算法
- Android中圆角Button实现
- Android ViewDragHelper完全解析 自定义ViewGroup神器
- android listview 下拉头部图片拉伸
- 169. Majority Element
- CentOS 6.5下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
- 几种简单排序的实现
- Java 从流中读取byte的奇怪现象,出现负值,详解
- Android Studio通过Gradle命令来编译生成打包APK
- PAT (Top Level) Practise 1011 Cut Rectangles (35)
- mac 升级自带svn
- checkenc - 自动文本编码识别
- Java中Date插入数据库的一些问题总结(二)
- Variably modified array at file scope
- 桂林电子科技大学操作系统课程设计(二)