1. 程式人生 > >c 快速排序

c 快速排序

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; } }