#include <stdio.h>
#define N 20
// 快速排序函数
void QuickSort(int a[], int low, int high)
{
int i, j, pivot, temp;
if(low >= high)
return;
i = low;
j = high;
pivot = a[low];
while(i < j)
{
while(i < j && a[j] >= pivot)
j--;
while(i < j && a[i] <= pivot)
i++;
if(i < j)
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
a[low] = a[i];
a[i] = pivot;
QuickSort(a, low, i - 1);
QuickSort(a, i + 1, high);
}
int main()
{
int a[N] = {
45, 12, 78, 3, 56,
29, 91, 17, 64, 8,
33, 70, 1, 52, 86,
24, 39, 95, 11, 60
};
int i;
for(i = 0; i < N; i++)
// 调用快速排序
QuickSort(a, 0, N - 1);
for(i = 0; i < N; i++)
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIE4gMjAKCi8vIOW/q+mAn+aOkuW6j+WHveaVsAp2b2lkIFF1aWNrU29ydChpbnQgYVtdLCBpbnQgbG93LCBpbnQgaGlnaCkKewogICAgaW50IGksIGosIHBpdm90LCB0ZW1wOwoKICAgIGlmKGxvdyA+PSBoaWdoKQogICAgICAgIHJldHVybjsKCiAgICBpID0gbG93OwogICAgaiA9IGhpZ2g7CiAgICBwaXZvdCA9IGFbbG93XTsKCiAgICB3aGlsZShpIDwgaikKICAgIHsKICAgICAgICB3aGlsZShpIDwgaiAmJiBhW2pdID49IHBpdm90KQogICAgICAgICAgICBqLS07CgogICAgICAgIHdoaWxlKGkgPCBqICYmIGFbaV0gPD0gcGl2b3QpCiAgICAgICAgICAgIGkrKzsKCiAgICAgICAgaWYoaSA8IGopCiAgICAgICAgewogICAgICAgICAgICB0ZW1wID0gYVtpXTsKICAgICAgICAgICAgYVtpXSA9IGFbal07CiAgICAgICAgICAgIGFbal0gPSB0ZW1wOwogICAgICAgIH0KICAgIH0KCiAgICBhW2xvd10gPSBhW2ldOwogICAgYVtpXSA9IHBpdm90OwoKICAgIFF1aWNrU29ydChhLCBsb3csIGkgLSAxKTsKICAgIFF1aWNrU29ydChhLCBpICsgMSwgaGlnaCk7Cn0KCmludCBtYWluKCkKewogICAgaW50IGFbTl0gPSB7CiAgICAgICAgNDUsIDEyLCA3OCwgMywgNTYsCiAgICAgICAgMjksIDkxLCAxNywgNjQsIDgsCiAgICAgICAgMzMsIDcwLCAxLCA1MiwgODYsCiAgICAgICAgMjQsIDM5LCA5NSwgMTEsIDYwCiAgICB9OwoKICAgIGludCBpOwoKICAgIHByaW50Zigi5o6S5bqP5YmN55qE5pWw5o2u77yaXG4iKTsKICAgIGZvcihpID0gMDsgaSA8IE47IGkrKykKICAgICAgICBwcmludGYoIiVkICIsIGFbaV0pOwoKICAgIC8vIOiwg+eUqOW/q+mAn+aOkuW6jwogICAgUXVpY2tTb3J0KGEsIDAsIE4gLSAxKTsKCiAgICBwcmludGYoIlxuXG7lv6vpgJ/mjpLluo/lkI7nmoTmlbDmja7vvJpcbiIpOwogICAgZm9yKGkgPSAwOyBpIDwgTjsgaSsrKQogICAgICAgIHByaW50ZigiJWQgIiwgYVtpXSk7CgogICAgcmV0dXJuIDA7Cn0=