排序

Categories:


int[] arr = {26, 34, 20, 42, 40, 32, 38, 24, 30, 44, 43, 16, 28, 29};
int temp = 0;

 

冒泡

for(int i = 0;i < arr.length - 1;i++) {
    for(int j = 0;j < arr.length - 1 - i;j++) {
        if(arr[j] > arr[j + 1]) {
            temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}

插入

for(int i  = 1;i < arr.length;i++) {
    for(int j = i;j > 0;j--) {
        if(arr[j] < arr[j - 1]) {
            temp = arr[j];
            arr[j] = arr[j - 1];
            arr[j - 1] = temp;
        } else {
            break;
        }
    }
}

选择

int minIndex = 0;
for(int i = 0;i < arr.length - 1;i++) {
    minIndex = i;
    for(int j = i + 1;j < arr.length;j++) {
        if(arr[minIndex] > arr[j]) {
            minIndex = j;
        }
    }

    if(minIndex != i) {
        temp = arr[i];
        arr[i] = arr[minIndex];
        arr[minIndex] = temp;
    }
}