資料結構和演算法 冒泡 選擇 插入排序演算法

2021-08-20 17:53:46 字數 2847 閱讀 3628

①、比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

②、對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數(也就是第一波冒泡完成)。

③、針對所有的元素重複以上的步驟,除了最後乙個。

④、持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

**如下:

public class bubblesort 

}if (flag)

// 第 i輪排序的結果為

system.out.print("第" + i + "輪排序後的結果為:");

display(array);

} return array;

} // 遍歷顯示陣列

public static void display(int array)

system.out.println();

} public static void main(string args) ;

// 未排序陣列順序為

system.out.println("未排序陣列順序為:");

display(array);

system.out.println("-----------------------");

array = sort(array);

system.out.println("-----------------------");

system.out.println("經過氣泡排序後的陣列順序為:");

display(array);

}}

結果如下:

①、從待排序序列中,找到關鍵字最小的元素

②、如果最小元素不是待排序序列的第乙個元素,將其和第乙個元素互換

③、從餘下的 n - 1 個元素中,找出關鍵字最小的元素,重複(1)、(2)步,直到排序結束

**如下:

public class choicesort 

}// 將找到的最小值和i位置所在的值進行交換

if (i != min)

// 第 i輪排序的結果為

system.out.print("第" + (i + 1) + "輪排序後的結果為:");

display(array);

} return array;

} // 遍歷顯示陣列

public static void display(int array)

system.out.println();

} public static void main(string args) ;

// 未排序陣列順序為

system.out.println("未排序陣列順序為:");

display(array);

system.out.println("-----------------------");

array = sort(array);

system.out.println("-----------------------");

system.out.println("經過選擇排序後的陣列順序為:");

display(array);

}}

執行結果:

array[j] = tmp;// 存在比其小的數,插入

} return array;

} // 遍歷顯示陣列

public static void display(int array)

system.out.println();

} public static void main(string args) ;

// 未排序陣列順序為

system.out.println("未排序陣列順序為:");

display(array);

system.out.println("-----------------------");

array = sort(array);

system.out.println("-----------------------");

system.out.println("經過插入排序後的陣列順序為:");

display(array);

}}

四、總結上面講的三種排序,冒泡、選擇、插入用大 o 表示法都需要 o(n2) 時間級別。

一般不會選擇氣泡排序,雖然氣泡排序書寫是最簡單的,但是平均效能是沒有選擇排序和插入排序好的。

Java資料結構(二) 冒泡 選擇 插入排序演算法

這個名詞的由來很好理解,一般河水中的冒泡,水底剛冒出來的時候是比較小的,隨著慢慢向水面浮起會逐漸增大,這物理規律我不作過多解釋,大家只需要了解即可。冒泡演算法的運作規律如下 比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,...

資料結構與演算法三(氣泡排序 選擇排序 插入排序)

排序 將一組 無序 的記錄序列調整為 有序 的記錄序列 公升序與降序 列表排序 將無序列表變為有序列表 def bubble sortup li 氣泡排序公升序 for i in range len li 1 第i趟 exchange false 增加乙個標誌位,當某一趟結束後列表順序沒有改變,說明...

資料結構 排序演算法 插入排序 選擇排序

今天我們來總結一下資料結構中各種排序演算法。資料結構排序演算法 part1 直接插入排序 思想 當插入第i i 1 個元素時,前面的array 0 array 1 array i 1 已經排好 序,此時用array i 的排序碼與array i 1 array i 2 的排序碼順序進行比較,找到插入...