首先,直接插入排序
原理:從要排序的數字中選擇壹個,插入前面合適的位置。
第二,選擇排序
與直接插入排序相反,選擇性排序是從要排序的數中選擇最小的數,放在已經排序的數後面。這個算法很耗時。
第三,快速排序
快速排序,簡稱Quick sort,是壹種比較快速的排序,適用於基本無序的數據。為什麽這麽說?我來說說快速排序的思路:設置兩個指針:I和J,分別指向第壹個和最後壹個。我向後移動J向前移動,選擇第壹個數作為標準(通常快速排序的關鍵是這個“標準”的選擇),從後面開始。
找到第壹個比標準小的數,交換位置,然後從前面找到第壹個比標準大的數,交換位置。第壹趟的結果是標準的左邊小於標準,右邊大於標準(但不壹定有序)。分成兩撥後,繼續遞歸使用上述方法,最後有序!
第四,冒泡排序
冒泡排序是壹個非常簡單的排序算法,很容易理解和時間。思路很簡單:小數字壹點壹點向前冒泡,最後排序。
動詞 (verb的縮寫)合並和排序
歸並排序是壹種基於歸並操作的有效排序算法。這個算法是分而治之的壹個非常典型的應用。
首先,考慮如何合並兩個有序序列。這個很簡單。只需比較兩個數列的第壹個數,先取較小的那個數,然後在對應數列中刪除這個數。然後對比壹下。如果壹個系列為空,可以直接依次取出另壹個系列的數據。