c 快速排序
阿新 • • 發佈:2019-02-06
void quiksort(int a[], int low, int high)
{
int i = low;
int j = high;
//取箇中間變數
int temp = a[i];
if (low < high)
{
while (i < j)
{
//從右往左查詢比中間變數小的第一個元素
while ((a[j] >= temp) && (i < j))
{
j--;
}
a[i] = a[j];
cout << a[j] << " " << a[i];
//從左往右查詢比中間變數小的第一個元素
while ((a[i] <= temp) && (i < j))
{
i++;
}
a[j] = a[i];
}
a[i] = temp;
quiksort(a, low, i - 1);
quiksort(a, j + 1, high);
}
else
{
return;
}
}