原理:臨近的兩個數字比較,按照從小到大或者從大到小進行排序,一共進行n趟排序(n是陣列的長度)
時間複雜度:o(n^2)
@test
public void bubblesort()
;int length=a.length;
for(int j=0;ja[i+1])}}
for(int i=0;i
時間複雜度:o(n*log2n)
int adjustarray(int s, int l, int r) //返**整後基準數的位置
// 從左向右找大於或等於x的數來填s[j]
while(i < j && s[i] < x)
i++;
if(i < j)
} //退出時,i等於j。將x填到這個坑中。
s[i] = x;
return i;
}在未排序的的序列遍歷出最小值或最大值,然後放在排序序列的起始位置
再從剩下的未排序的序列遍歷出最小值,放在排序序列的末尾位置,重複直到所有元素排序完成
public class select_sort
}if(min!=i)//與原最小值轉換,得出新最小值}}
public static void main(string args) ;
select_sort ss=new select_sort();
int n=a.length;
ss.selectsort(a, n);
for(int i=0;i
氣泡排序,選擇排序,快速排序
1.氣泡排序 氣泡排序 bubble sort 最為簡單的一種排序,通過重複走完陣列的所有元素,通過打擂台的方式兩個兩個比較,直到沒有數可以交換的時候結束這個數,再到下個數,直到整個陣列排好順序。因乙個個浮出所以叫氣泡排序。雙重迴圈時間o n 2 void bubblesort int arr in...
氣泡排序 選擇排序 快速排序
氣泡排序的思想在於,不斷地將當前元素與後乙個元素進行比較,如果當前元素較小,則調換當前元素與後乙個元素的位置,否則保持不變 假設需要排序的元素一共有n個,從第乙個元素開始,對後續的 n 2 元素進行上述比較,最終的排序結果中,最後的元素是最大值。def bubble sort alist n len...
選擇排序 氣泡排序 快速排序
選擇排序 氣泡排序 快速排序 例子序列 176453 從小到大排序 1.選擇排序 自己的話概括 每個位置上的數字都是由在這個位置之後的所有數字中選擇的乙個最小的數字。1 7 6 4 5 3 1 7 6 4 5 3 1 3 6 4 5 7 1 3 4 6 5 7 1 3 4 5 6 7 完成排序!實現...