#include<iostream>
using namespace std;
int arr[10] = { 2,8,3,9,1,4,6,7,0,5 };
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void show(int *arr,int n)
{
for (size_t i = 0; i < n; i++)
{
cout << arr[i] << " ";
}
cout << endl;
}
void quicksort(int *arr, int iLeft, int iRight)
{
int i = iLeft;
int j = iRight + 1;
if (i<j)
{
do
{
do
{
i++;
} while (i<iRight&&arr[i]>=arr[iLeft]);
do
{
j--;
} while (j>iLeft&&arr[j]<=arr[iLeft]);
if (i<j)
{
swap(arr[i], arr[j]);
}
} while (i<j);
swap(arr[j], arr[iLeft]);
quicksort(arr, iLeft, j - 1);
quicksort(arr, j + 1, iRight);
}
}
int main(int argc, char *argv[])
{
quicksort(arr, 0, 10 - 1);
show(arr,10);
system("pause");
}
C++实现快速排序算法
猜你喜欢
转载自blog.csdn.net/haku_yyf/article/details/79516713
今日推荐
周排行