#include<iostream>
using namespace std;
void swap(int *a,int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
//思想:1、先从数列中选取一个数作为基准数
//2、将大于次数的值放在其右边,小于的放在左边
//3、再对左右区间重复2,直到各区间只有一个数
void quick_sort(int a[],int low,int high)
{
if(low<high)
{
int i = low,j = high,x =a[low];
while(i<j)
{
while(i<j&&a[j]>=x)
j--;
if(i<j)
a[i++] = a[j];
while(i<j&&a[i]<x)
i++;
if(i<j)
a[j--] = a[i];
}
a[i] = x;
quick_sort(a,low,i-1);
quick_sort(a,i+1,high);
}
}
void main()
{
int a[10] = {1,3,5,7,2,8,4,9,6,0};
quick_sort(a,0,9);
for(int i = 0;i<10;i++)
{
printf("%d \n",a[i]);
}
system("pause");
return;
}
快排
最新推荐文章于 2023-07-12 13:07:43 发布