選擇排序的2種方法


#include <stdio.h>

void main(){
    int arr[5] = { 2, 323, 3, 3233, 32 };

    int tmp;

    for (int i = 0; i < 4; i++) {
        for (int j = i + 1; j < 5; j++) {
            if (arr[i] > arr[j]) {
                tmp = arr[i];
                arr[i] = arr[j];
                arr[j] = tmp;
            }
        }
    }
    for (int i = 0; i < 5; i++) {
        printf("%d\n", arr[i]);
    }
    getchar();
}

2:查找次數一樣減少交換次數


#include <stdio.h>

void main(){
    int arr[5] = { 2, 323, 3, 3233, 32 };

    int tmp;
    int idx;
    for (int i = 0; i < 4; i++) {

        idx = i;

        for (int j = i + 1; j < 5; j++) {
            if (arr[idx] > arr[j]) {
                idx = j;
            }
        }

        if (idx != i) {
            tmp = arr[i];
            arr[i] = arr[idx];
            arr[idx] = tmp;
        }
    }
    for (int i = 0; i < 5; i++) {
        printf("%d\n", arr[i]);
    }
    getchar();
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容