所有排序算法的基本原理無外乎將一個無序序列分為有序區(1個即有序)和無序區,然后不斷重復迭代將無序區的數放入有序區。
以下排序算法皆以升序為例:
一、窮舉法: 1.冒泡排序(Bubble Sort): 如圖大數往上頂,任意兩個相鄰數從無序到有序。

2.插入排序(Insertion Sort): 如圖左側為有序區,右側無序區,將無序區的第一個元素插入到有序區合適的位置,重復過程。 
3.選擇排序(Selection Sort): 如圖左側為有序區,右側無序區。將無序區最小的元素與無序區的第一個元素對調,重復過程。 
二、分治法(Divide and Conquer): 4.歸并排序(Merge Sort): 
5.快速排序(Quick Sort): 隨便找個基準數(一般取首或尾),小的放它左邊,大的放它右邊。對兩側的分區重復以上過程。其中的基準數就是有序區,兩側區間就是無序區。 
新聞熱點
疑難解答