首页 > 编程语言 > 详细

快速排序算法

时间:2018-03-03 18:48:38      阅读:202      评论:0      收藏:0      [点我收藏+]

#include <iostream>
#include <string>

using namespace std;

void quick_sort(int a[],int left,int right)
{

//注意:这里一定要解决一个出口问题,不然程序无法出来
if(left > right)
return;
int i = left;
int j = right;
int temp = a[i];
while(i < j){

//注意,这里一定是先从右边开始查找
while(temp <= a[j] && i < j)
j--;
while(temp >= a[i] && i < j)
i++;
if(i < j){
int tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
}

//注意:这里基数回归一定是两步
a[left] = a[i];
a[i] = temp;
quick_sort(a,left,i-1);
quick_sort(a,i+1,right);
}
int main()
{
int a[5];
for(int i = 0;i < 5;i++){
cin >> a[i];
}
quick_sort(a,0,4);
for(int i = 0;i < 5;i++){
cout << a[i] << " ";
}
return 0;
}

快速排序算法

原文:https://www.cnblogs.com/Chen-Programe/p/8497218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!