數據結構與算法-學習筆記(8)-選擇排序

菜鳥一枚,
剛剛學習數據結構與算法,
爲了加深理解,
所以與同學們分享學習過程。

今天學習的是,
選擇排序!!!

選擇排序:n-i次關鍵字 的比較,
從n-i+1個記錄中選出最小的記錄,
並和i(1<=i<=n)個記錄交換。

那麼讓代碼說話

#include <stdio.h>

void slectsort(int k[],int n)
{
    int i,j,temp,min;
    for(i=0;i < n-1;i++)
    {
        min = i;   //設第一個爲最小
        for(j = i+1;j < n;j++)  //若這個min的找到比他更小的,
        {                       //則更小的成爲min,這min再與後面的比較,
            if(k[j]<k[min])     //一輪後這個min爲數組中最小,並與第一個交換,
                                //第二輪,設第二個爲min,往後比較,同第一輪
            {                   //最終得出從大到小的數組
                min = j;
            }
            if(min!=i)
            {
                temp = k[min];
                k[min] = k[i];
                k[i] = temp;
            }
        }
    }
}

int main()
{
    int i,a[10]={4,3,6,1,0,8,7,2,9,5};
    slectsort(a,10);
    printf("排序後結果爲:");
    for(i=0;i<10;i++)
        {
            printf("%d",a[i]);
        }
    return 0;
}

在這裏插入圖片描述

謝謝同學們的閱讀~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章