C++实现快速排序
#include <iostream>
void sort(int a[], int left, int right)
{
if (left >= right)
{
return;
}
int i = left;
int j = right;
int key = a[i];
while (i < j)
{
while ((i < j) && (a[j] >= key))
{
j--;
}
a[i] = a[j];
while ((i < j) && (a[i] <= key))
{
i++;
}
a[j] = a[i];
}
a[j] = key;
sort(a, left, j -1);
sort(a, j + 1, right);
}
int main(int argc, char * argv[])
{
int data[] = {10,6};
sort(data,0, static_cast<int>(sizeof data/ sizeof data[0]) -1);
for (int i = 0 ; i < static_cast<int>(sizeof(data)/sizeof (data[0]) ); i++)
{
std::cout << data[i] << std::endl;
}
return 0;
}