演算法思想: 從頭開始依次比較兩個相鄰的元素 如果後面乙個比前面乙個大 說明順序不對,則將兩個交換,本次迴圈完成後從頭開始,直到沒有發生交換為止.
給你乙個栗子
對5 2 3 1 4排序
首先 5 和 2 比較 5>2 , 將5 和 2 交換位置 之後的元素按照同樣的方法進行比較交換
第一次比較交換完成後 2 5 3 1 4
第二次比較交換完成後 2 3 5 1 4
第三次比較交換完成後 2 3 1 5 4
第四次比較交換完成後 2 3 1 4 5
至此 第一次迴圈完成 (完成第一次排序)
之後每迴圈一次完成一次排序 直至沒有發生交換 此時意味著排序完成
int
a=newint
;for
(int i =
0; i < a.length-
1; i++)}
} system.out.
println
(arrays.
tostring
(a))
;
演算法思想 :首先在未排序的序列中,找到最大(小)的元素,存放到排序序列的起始位置,然後,再從剩餘的未排序的元素中繼續尋找最大(小)元素,然後放在已排序列的隊尾
給你乙個栗子
還是 5 2 3 1 4 的排序
首先通過一輪迴圈比較找出最小的元素 1 然後將 1 放到第乙個位置 當做已排序列的第乙個元素
此時 1 5 2 3 4
再次迴圈 找出5 2 3 4中最小的勻速為 2 將2 放入 已排序列 的1 之後
此時 1 2 5 3 4
再次迴圈 找出 5 3 4中最小的元素為 3 將 3 放入已排序列 1 2 之後
此時 1 2 3 5 4
再次迴圈 找出 5 4 中最小的元素為 4 將4放入 已排序列1 2 3 之後
此時 1 2 3 4 5
排序完成
int a=new int;
for (int i = 0; i < a.length-1; i++) }}
system.out.println(arrays.tostring(a));
演算法思想: 每次將乙個待排序的資料按照大小插入到前面已排隊列中,直到資料插入完成
給你乙個栗子
又是 5 2 3 1 4 的排序
用乙個臨時變數儲存要排序的元素 4
記下4 的位置 , 然後讓4 和之前的元素一一比較 尋找出比4大的元素 5 將 4 插入5 的後面
5 之後的元素 統一向後挪一位
此時 4 5 2 3 1
之後 記錄1的位置 然後讓1 和之前的元素一一比較 , 尋找出比1大的元素 4 將 1 插入4 的後面
4 之後的元素 統一向後挪一位
此時 1 4 5 2 3
之後的元素均按此方法一一排序, 直至排序完成
int
a=newint
;for
(int i =
0; i < a.length; i++)}
} system.out.
println
(arrays.
tostring
(a))
;
陣列 氣泡排序 選擇排序 插入排序
package arr 我自己的陣列類 author guosheng public class arrayself public arrayself int chang 新增方法 郭勝 public void insert long value 降序插入 public void insertbys...
氣泡排序,選擇排序,插入排序
氣泡排序,選擇排序,插入排序 小規模的檔案以及基本有序的檔案,插入排序的效能比快速排序的效能更為有效一些,實際上,插入排序通常也做快速排序實現的一部分。1 氣泡排序 packagedatastrut public classbubblesort public voidinsert longvalue...
選擇排序 , 插入排序 , 氣泡排序
編寫 include void println int array,int len 列印給定長度的陣列 printf n void swap int array,int i,int j 交換陣列中兩個位置的元素 void selectionsort int array,int len o n n 對...