排序演算法 冒泡 選擇排序

2022-08-30 15:09:17 字數 732 閱讀 4124

思路:

1. 從頭開始比較每一對相臨的元素,其後者比前者大則交換,直到一輪比較結束

2. 排除1中找到最大的元素,重複1的步驟

class bubblesort }}

}// 如果在某一趟比較後,序列就變得完全有序,此時就沒有必要再繼續比較下去

func sort2()

}if sorted }}

// 如果數列在尾部已經有序(部分有序)

func sort3()

}end = endindex}}

}

* 最壞、平均時間複雜度:o(n^2),最好時間複雜度:o(n)

* 空間複雜度: o(1)

* 穩定性: 穩定

思路:

1. 選擇從第乙個到倒數第二個與最後乙個進行比較,大則交換放到最後

2. 重複第一步,與倒數第二個數比較

class selectionsort 

}let tmp = array[maxvalueindex]

array[maxvalueindex] = array[end]

array[end] = tmp}}

}

* 最好、最壞、平均時間複雜度:o(n^2)

* 空間複雜度: o(1)

* 穩定性: 不穩定

排序演算法 氣泡排序 選擇排序

1 氣泡排序 這個氣泡排序的原理就像水裡的魚吐泡泡一樣,起初是小一點的泡泡,然後越來越大,最後的最大。演算法描述 1 設待排序序列中的記錄的數為n 2 一般的,第i趟起泡排序從1到n i 1 3 依次比較相鄰兩個記錄的數字,如果發生逆序,則交換 4 其結果是這n i 1個記錄中,關鍵字最大的記錄被交...

選擇氣泡排序演算法

使用氣泡排序 package com.qixin.five public class bubblesort inttemp system.out.println 原有陣列內容 printarray array for inti 1 i array.length i system.out.printl...

選擇氣泡排序演算法

使用氣泡排序 package com.qixin.five public class bubblesort inttemp system.out.println 原有陣列內容 printarray array for inti 1 i array.length i system.out.printl...