#include<stdio.h>
#include<iostream>
using namespace std;
void quick(int s[], int left, int right)
{
if (left < right)
{
int a = left;
int b = right;
int x = s[left];
while (a < b)
{
while (a<b&&s[b] > x)
{
b--;
}
if (s[b] < x&&a < b)
{
s[a] = s[b];
a++;
}
while (a < b&&s[a] < x)
{
a++;
}
if (a<b&&s[a]>x)
{
s[b] = s[a];
b--;
}
}
s[a] =x ;
quick(s, left, a - 1);
quick(s, a + 1, right);
}
}
void main()
{
int a[] = { 45,23,54,11,12,44,22,43,55,46 };
quick(a, 0, 9);
for (int i = 0; i < 10; i++)
{
cout << a[i] << " ";
}
system("pause");
c++快速排序的实现
最新推荐文章于 2020-11-18 18:03:12 发布