選擇排序

#include <stdio.h>
void SelectionSort(int a[], int size);

int main(void)
{
    int arr[] = {1, -3, 5, 0, 9 ,6, 4};
    SelectionSort(arr, sizeof(arr)/sizeof(arr[0]));

    unsigned int i;
    for (i=0; i<sizeof(arr)/sizeof(arr[0]); i++){
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0;
}

void SelectionSort(int a[], int size)
{
    int i, j;
    // 每次循環(huán)后將第 i 小的元素放好
    for (i=0; i<size-1; i++){
        int min_idx = i;
        // 用來(lái)記錄從第 i 個(gè)到第 size-1 個(gè)元素中,最小的那個(gè)元素的下標(biāo)
        for (j=i+1; j<size; j++){
            if (a[j] < a[min_idx]){
                min_idx = j;
            }
        }
        // 將第 i 小的元素放在第 i 個(gè)位置上,并將原來(lái)占著第 i 個(gè)位置的元素挪到后面
        int tmp = a[i];
        a[i] = a[min_idx];
        a[min_idx] = tmp;
    }
}

排序后結(jié)果:

排序后結(jié)果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容