快速排序(Quick Sort)
(可先回顾“排序算法”)
交换排序的基本思想:两两比较待排序记录的关键字,一旦发现两个记录不满足次序要求时则进行交换,直到整个序列全部满足要求为止。
冒泡排序(Bubble Sort)是一种最简单的交换排序方法,它通过两两比较相邻记录的关键字,逆序则交换,从而使关键字较小的记录如气泡一般逐渐往上“漂浮”(左移),或者使关键字较大的记录如石块一般“沉落”(右移)。从右往左进行交换更接近“冒泡”的含义,而从左往右交换更像是“沉石”的过程。(可回顾“这里”)
在冒泡排序中,需要安排一个变量flag表示排序循环结束的标志。flag = 0表示在本趟排序中没有发生“交换”,即排序已经完成;反之,若flag = 1,继续进行排序。
快速排序由冒泡排序改进得到。冒泡排序中只能比较相邻的记录,所以每次“交换”只能消除一个逆序。而快速排序能够比较两个不相邻的记录,通过一次“交