c++实现的快速排序算法
来源:互联网 发布:spss22 mac版教程 编辑:程序博客网 时间:2024/06/13 00:20
**对数组[0,n)排序**
#include <iostream>using namespace std;void qsort1(int *a,int l,int r){ if(l>=r) return; int i=l,j=r,t=a[l],temp; while(i<j) { while(i<j&&a[j]>=t) j--; while(i<j&&a[i]<=t) i++; if(i<j) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } a[l]=a[i]; a[i]=t; qsort1(a,l,i-1); qsort1(a,i+1,r);}void qsort2(int *a,int l,int r){ if(l>=r) return; int i=l,j=r,t=a[l]; while(i<j) { while(i<j&&a[j]>=t) j--; a[i]=a[j]; while(i<j&&a[i]<=t) i++; a[j]=a[i]; } a[i]=t; qsort2(a,l,i-1); qsort2(a,i+1,r);}void print(int *a,int n){ cout<<"排序后的数组为:"<<endl; for(int i=0; i<n; i++) cout<<a[i]<<ends; cout<<endl<<endl<<endl;}int main(){ int n,i; cout<<"输入数组元素个数(以0为结束): "; while(cin>>n&&n) { int *a=new int[n]; cout<<"依次输入数组元素: "; for(i=0;i<n;i++) cin>>a[i]; cout<<"使用快排算法1/0? "; cin>>i; if(i) qsort1(a,0,n-1); else qsort2(a,0,n-1); print(a,n); delete []a; cout<<"输入数组元素个数(以0为结束): "; } return 0;}
0 0
- 快速排序算法的c语言实现
- 快速排序算法的C/C++ 实现
- 快速排序算法的C语言实现
- 【算法】C语言实现的快速排序
- 快速排序算法的C语言实现
- 快速排序算法的C语言实现
- C语言快速排序算法的实现
- 快速排序算法的C语言实现
- 快速排序算法的C语言实现
- 快速排序算法(c#)实现
- 排序算法的C语言实现-快速排序
- 排序算法(C实现)--------- 快速排序
- C语言的快速排序算法代码-递归实现
- 快速排序算法所有版本的c/c++实现
- 快速排序算法之所有版本的c/c++实现
- 快速排序和二分查找算法的实现C语言
- 快速排序算法所有版本的c/c++实现
- 快速排序算法的C/C++语言实现
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- UART0串口编程系列 串口编程(UART0)之中断方式(一)
- C# 反射 通过类名创建类实例
- 使用系统时间作为创建的文件名
- iOS 分享功能开发
- c++实现的快速排序算法
- 纯文本转超文本
- mac 安装python软件包的工具--easy_install
- TCP/IP详解卷1 读书笔记:第二十一章 TCP超时与重传
- 服务 AIDL 进程优先级
- JavaScript:student-information-system-node-express-mongoose 学生信息管理系统
- UART0串口编程系列 串口编程(UART0)之中断方式(二)
- js 只能输入数字和小数点
- C++primer学习:标准库特殊设施:bitset