快速排序

来源:互联网 发布:phpmyadmin for mac 编辑:程序博客网 时间:2024/05/21 16:56
//快速排序void QSort(int a[], int Low, int High){if(Low > High)return;int Left = Low;int Right = High;int x = a[Low];   //以最左边一个作为枢纽元while(Left < Right){//从右向左找到第一个小于枢纽元的值,放到此时的left上while(Left < Right && a[Right] >= x)--Right;a[Left] = a[Right];//从左到右找到第一个大于枢纽元的,放到此时的right上while(Left < Right && a[Left] <= x)++Left;a[Right] = a[Left];}a[Left] = x;//枢纽元放在left上//整个while运行完后,枢纽元左边的都是比他小的,右边的都是比他大的,然后再分治QSort(a, Low, Left-1);QSort(a, Left+1, High);}

0 0
原创粉丝点击