#include<iostream>
using namespace std;
void quickSort(int arr[], int low, int high)
{
if (high <= low)
{
return;
}
int i = low;
int j = high;
int key = arr[low];
while (1)
{
//从左向右找到比key大的值
while (arr[++i] < key)
{
if (i == high)
{
break;
}
}
//从右向左找到比key小的值
while (arr[--j]>key)
{
if (j == low)
{
break;
}
}
if (i>=j)
{
break;
}
swap(arr[i], arr[j]);
}
swap(arr[low], arr[j]);
quickSort(arr, low, j - 1);
quickSort(arr, j + 1, high);
}
int main()
{
int a[] = { 57, 68, 59, 52, 72, 28, 96, 33, 24 };
quickSort(a, 0, sizeof(a) / sizeof(a[0]));
for (int i = 0; i < sizeof(a) / sizeof(a[0]); i++)
{
cout << a[i] << " ";
}
system("pause");
return 0;
}
007.快速排序
最新推荐文章于 2024-09-22 21:08:43 发布
1304

被折叠的 条评论
为什么被折叠?



