數據結構–選擇排序
代碼實現:
package cn.hncu;
//冒泡排序優化版----這種代碼應該能夠隨手敲出來
public class bubbleSort {
//優化版-----針對於本來數組就是有序的改進一下不需要進行冒泡排序直接輸出就行
public static void main(String[] args) {
int[] arr = {15,54,12,-25,5,6,34,-30};
boolean isSort = true;
for(int i=0;i<arr.length-1;i++){ //控制冒泡的趟數
for (int j = 0; j < arr.length-i-1; j++) { //一趟下來的過程
if (arr[j] > arr[j + 1]) {
swap(arr, j, j + 1); //這樣每次經過一趟之後冒個泡(最大的數給冒出來)
//如果進到這裏來了,就說明數組本身不是有序的
isSort = false;
}
}
if(isSort){
break;
}
}
//經過上面的冒泡----得出最終結果
//增強for循環----只能讀不能寫
for(int x : arr){
System.out.print(x+" ");
}
}
private static void swap(int[] arr, int i, int j) {
//交換兩個數據
int temp = arr[i];
arr[i] = arr[i+1];
arr[i+1] = temp;
}
}