思路: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...