排序算法之快速排序
分析思路:快速排序思想,选择一个标值,然后从两边依次找出比标值大的值和比标值小的值,然后进行交换,如此一轮之后,序列就变为比标值小的在标值的左边,比标值大的在标值右边。然后我们分别对左子列递归,对右子列递归。
具体代码:
void Quick_Sort(int array[], int left,int right)
{
if (left < right) {
int i = left, j = right, x = array[left];
while (i < j) {
while (i < j && array[j] >= x)
j--;
if (i < j)
array[i++] = array[j];
while (i < j && array[i] <= x)
i++;
if (i < j)
array[j--] = array[i];
}
array[i] = x;
Quick_Sort(array, left, i - 1);
Quick_Sort(array, i + 1, right);
}
}