Java陣列3種排序方法
一、陣列封裝好的排序方法
public static void main(String[] args) {
int[] scores = { 30 , 28 , 33 , 47 , 25 ,21, 88 , 96 } ;
Arrays.sort(scores) ;
System.out.print("scores = { ");
for (int i = 0; i < scores.length; i++) {
if(i<scores.length-1){
System.out.print(scores[i] + ",");
}
if(i==scores.length-1){
System.out.print(scores[i] + " }");
}
}
二、選擇排序
選擇排序若小到大排序,最先出現的是陣列的最小元素出現在第一位,整體思想是用陣列的第一個元素開始與陣列的每一個元素依次對比,若第一位大於相比較的元素交換元素位子,第一輪比完最小值出現在第一位,然後用第二位依次與後面的元素對比
如下:
public static void main(String[] args) {
int[] scores = { 30 , 28 , 33 , 47 , 25 ,21, 88 , 96 } ;
System.out.print("scores = { ");
for(int i=0 ; i<scores.length; i++){
for(int j=i+1 ; j < scores.length-1 ; j++){
int temp;
//利用臨時變數交換元素
if( scores[i] >scores[j]) {
temp = scores[i] ;
scores[i] = scores[j] ;
scores[j] = temp ;
}
}
if(i<scores.length-1){
System.out.print(scores[i] + ",");
}
if(i==scores.length-1){
System.out.print(scores[i] + " }");
}
}
}
三、氣泡排序
氣泡排序,就像水池底部產生氣泡往水面山飄,和相鄰的相比如前面的元素大於後面的元素,交換位置,最大的元素最先出現在最後一位。 程式碼如下:
public static void main(String[] args) {
int[] scores = { 30 , 28 , 33 , 47 , 25 , 21 , 88 , 96 , 43} ;
for(int i = 0 ; i<scores.length ; i++){
for(int j = 0 ; j<scores.length-1 ; j++){
int temp ;
//利用臨時變數交換元素
if(scores[j] > scores[j+1]){
temp = scores[j] ;
scores[j] = scores[j+1] ;
scores[j+1] = temp;
}
}
}