2.選擇排序演算法
程式設計中,我們會經常用到陣列的排序,方便統計和查詢。當然面試的時候也會經常問到
下面是兩種比較常見的排序。
比較相鄰的兩個值,如果滿足條件就交換值,把小的值移到陣列前面,大的移動到後面
public
class
arraysortbubble
;//建立陣列
system.out.
println
("排序前輸出:"
+arrays.
tostring
(array));
sort
(array)
;//呼叫排序演算法
system.out.
println
("排序後輸出:"
+arrays.
tostring
(array));
}/**
* 氣泡排序演算法
* @param array
* @return
*/public
static int[
]sort
(int[
] array)}}
return array;
}}
輸出結果:
將指定排序位置與其他陣列元素分別對比,滿足條件就交換元素值,每次比較選擇出最大(或者最小)的元素,直到全部排序完成。
public
class
arrayselectsort
; system.out.
println
("選擇排序前:"
+ arrays.
tostring
(array));
sort
(array)
; system.out.
println
("選擇排序後:"
+ arrays.
tostring
(array));
}/**
* 直接選擇排序
* @param array 要排序的陣列
* @return
*/public
static int[
]sort
(int[
] array)
}//交換在位置array.length-1和index(最大值)上的兩個數
int temp = array[array.length - i]
;//最後乙個元素值儲存到臨時變數
array[array.length - i]
= array[index]
;//將大的元素值往後移
array[index]
= temp;
//臨時變數複製到交換的變數
}return array;
}}
輸出結果:
常見的排序演算法 (冒泡 選擇排序)(Java版)
1.氣泡排序 演算法原理 比較相鄰的元素,若第乙個元素大於第二個元素,就交換它們倆個元素。讓每一對相鄰的元素都做相同的步驟,最後得到最後得元素為最大值。重複上述的步驟。package my public class bubblesort sort sort new sort sort.bubble ...
排序演算法 氣泡排序 選擇排序
1 氣泡排序 這個氣泡排序的原理就像水裡的魚吐泡泡一樣,起初是小一點的泡泡,然後越來越大,最後的最大。演算法描述 1 設待排序序列中的記錄的數為n 2 一般的,第i趟起泡排序從1到n i 1 3 依次比較相鄰兩個記錄的數字,如果發生逆序,則交換 4 其結果是這n i 1個記錄中,關鍵字最大的記錄被交...
排序演算法 冒泡 選擇排序
思路 1.從頭開始比較每一對相臨的元素,其後者比前者大則交換,直到一輪比較結束 2.排除1中找到最大的元素,重複1的步驟 class bubblesort 如果在某一趟比較後,序列就變得完全有序,此時就沒有必要再繼續比較下去 func sort2 if sorted 如果數列在尾部已經有序 部分有序...