快速排序(分治法)
来源:互联网 发布:ajaxupload3.9.js下载 编辑:程序博客网 时间:2024/06/05 11:39
//快速排序//PARTITION 函数对数组进行划分,选择A[end]值作为主元,start到i的值小于A[end],i+1到end-1的值大于A[end],最后将i+1和end处的值交换,实现数组的划分#include <iostream>using namespace std;int PARTITION(int A[],int start,int end){ int mid_value; mid_value=A[end]; int i=start-1; for(int j=start;j<end;j++) { if(A[j]<=mid_value) { i++; int temp_1=A[i]; A[i]=A[j]; A[j]=temp_1; //交换A[i]和A[j] } } int temp_2=A[i+1]; A[i+1]=A[end]; A[end]=temp_2; return i+1;}void QUICK_SORT(int A[],int start,int end){ if(start<end) { int mid; mid=PARTITION(A,start,end); QUICK_SORT(A,start,mid-1); QUICK_SORT(A,mid+1,end); }}int main(int argc, char *argv[]){ int n; cin>>n; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; QUICK_SORT(a,0,n-1); for(int i=0;i<n;i++) { cout<<a[i]<<" "; } cout<<endl; cout << "Hello World!" << endl; return 0;}
阅读全文
0 0
- 快速排序(分治法)
- 快速排序(分治法)
- 排序算法--快速排序(分治法)
- 分治法--快速排序
- 分治法--快速排序
- 分治法-快速排序
- 分治法-快速排序
- 分治法-----快速排序
- 分治法 --快速排序
- 分治法-快速排序
- 分治法--快速排序
- 快速排序 分治法
- 分治法-快速排序
- 快速排序(分治)
- 快速排序(分治法实现)
- 快速排序(分治法O(nlogn))
- Java实现快速排序(分治法)
- 分治法之快速排序
- Xshell—安装配置
- Android NDK 编译PjSip 2.6 之 搭建PjSip apk开发环境 (三)
- navicate获取表结构
- 基础命令2
- CentOS7下iptables防火墙配置
- 快速排序(分治法)
- log4j
- 类加载机制
- Hibernate三种状态之间的转换
- css样式初始化
- Python3 简略笔记
- shiro实现APP、web统一登录认证和权限管理
- find -mtime -newermt 使用心得
- shell普通数组和关联数组的区别