您的位置:首页 > 其它

快排算法

2016-07-29 17:17 127 查看
void QuickSort(int *a,  int n)

{

    if (n < 1) return;

    int L = 0;

    int R = n - 1;

    int temp = a[0];

    while (L < R)

    {

        while (L < R && a[R] >= temp) --R;

        a[L] = a[R];

        while (L < R && a[L] <= temp) ++L;

        a[R] = a[L];

    }

    a[L] = temp;

    QuickSort(a, L);

    QuickSort(a + L + 1, n - L - 1);

}

int main()

{
int n,temp;

int a[] = {2, 1, 5, 8};

QuickSort(a, 4);
cout<<"the values after sort:"<<endl;
for (int i = 0;i < 4; ++i)
cout << a[i] <<" ";

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: