c++实现快速排序
#include <iostream>
using namespace std;
void quick(int left, int right, int*data)
{
if (left >= right)
{
return;
}
int temp = data[left];
int i = left;
int j = right;
while (i != j)
{
while(data[j] >= temp&&j>i)
{
j--;
}
while (data[i] <= temp && i < j)
{
i++;
}
if (i < j)
{
int a = data[i];
data[i] = data[j];
data[j] = a;
}
}
data[left] = data[i];
data[i] = temp;
quick(left, i - 1, data);
quick(i + 1, right, data);
}
int main()
{
int data[] = { 1,5,6,7,8,9,4,2,3,1,3,9,5,6};
quick(0, 13, data);
for (int i = 0; i < 14; i++)
{
cout << data[i] << " ";
}
}