1. 程式人生 > >常見的三種排序演算法分析及對比實現(冒泡、選擇、插入)

常見的三種排序演算法分析及對比實現(冒泡、選擇、插入)

1. 氣泡排序

     1)基本思想:

          在要排序的一組數中,對當前還未排好序的範圍內的全部數,自上而下對相鄰的兩個數依次進行比較和調整,

          讓較大的數往下沉,較小的往上冒。即:每當兩相鄰的數比較後發現它們的排序與排序要求相反時,就將它們互換。

     2). 例項:

          

     3). 程式碼實現:

          

2. 選擇排序

     1). 基本思想:

          在要排序的一組數中,選出最小的一個數與第一個位置的數交換;

          然後在剩下的數當中再找最小的與第二個位置的數交換,如此迴圈到倒數第二個數和最後一個數比較為止。

     2). 例項:

          

     3). 程式碼實現:

          

          

3. 插入排序

     1). 基本思想:

          在要排序的一組數中,假設前面(n-1) [n>=2] 個數已經是排好順序的,現在要把第n個數插到前面的有序數中,

          使得這n個數也是排好順序的。如此反覆迴圈,直到全部排好順序。

     2). 例項:

          

     3). 程式碼實現: