點關注不迷路,歡迎再訪!
精簡部落格內容,盡量已專業術語來分享。選擇排序演算法也是比較簡單的排序演算法,其思路比較直觀。選擇排序演算法在每一步中選取最小值來重新排列,從而達到排序的目的。努力做到對每一位認可自己的讀者負責。
幫助別人的同時更是豐富自己的良機。
選擇排序演算法通過算選擇和交換來實現排序,其排序流程如下:
1.首先從原始陣列中選擇最小的1個資料,將其和第1個位置的資料交換。
2.接著從剩下的n-1個資料中選擇次小的1個資料,將其和第2個位置的資料交換。
3.然後不斷重複上述過程,知道最後兩個資料交換完成。至此,便完成了對原始陣列的從小到大的排序。
第0步排序結果: 0 4 6 7 5 3public
static
void
main
(string[
] args)
; int index,temp;
for(int i =
0; i < scores.length-
1; i++)}
if(index != i)
system.out.
("第"
+i+"步排序結果:");
//輸出每步排序的結果
for(int h =
0; h < scores.length; h++
) system.out.
("\n");
}}
第1步排序結果: 0 3 6 7 5 4
第2步排序結果: 0 3 4 7 5 6
第3步排序結果: 0 3 4 5 7 6
第4步排序結果: 0 3 4 5 6 7
從上面的例子可以非常直觀地了解到選擇排序演算法地執行過程。選擇排序演算法在對n個資料進行排序時,無論原始資料有無順序,都需要進行n-1步的中間排序。
優點:這種排序方法思路簡單直觀。
缺點:執行的步驟稍長,效率不高。
詳解氣泡排序 秒懂
點關注不迷路,歡迎再訪!精簡部落格內容,盡量已專業術語來分享。努力做到對每一位認可自己的讀者負責。幫助別人的同時更是豐富自己的良機。氣泡排序演算法是所以排序演算法中最簡單 最基本的一種。氣泡排序演算法的思路就是交換排序,通過相鄰資料的交換來達到排序的目的。氣泡排序演算法通過多次比較和交換來實現排序,...
詳解插入排序 秒懂
點關注不迷路,歡迎再訪!精簡部落格內容,盡量已專業術語來分享。努力做到對每一位認可自己的讀者負責。幫助別人的同時更是豐富自己的良機。插入排序演算法通過對未排序的資料執行逐個插入至合適的位置而完成排序工作。插入排序演算法的思路比較簡單,應用比較多。插入排序演算法通過比較和插入來實現排序,其排序流程如下...
帶你秒懂堆排序
首先我們要明確堆並非一種資料結構,所謂堆排序其實是對陣列進行排序。首先,我們可以將陣列看作乙個完全二叉樹,陣列第乙個元素a 0 即為二叉樹根節點,而後我們需要了解一些完全二叉樹的基礎概念 完全二叉樹最後乙個非葉子節點索引為 元素個數 2 1。記住這個以後我們就可以進行堆排序了,堆排序的思路比較簡單,...