首頁 >後端開發 >C#.Net教程 >c語言如何實作選擇排序演算法(程式碼範例)

c語言如何實作選擇排序演算法(程式碼範例)

青灯夜游
青灯夜游原創
2019-03-01 15:29:4581248瀏覽

選擇排序演算法的基本思想就是依序選出數組最小的數放到數組的前面,在C語言中我們可以使用兩個for循環,先從數組的第二個元素開始往後遍歷,找出最小的數放到第一個位置,再從剩下數組中找出最小的數放到第二個位置,以此類推,直到數組有序。

c語言如何實作選擇排序演算法(程式碼範例)

選擇排序法的實作原理:

先判斷最小的數的下標是不是0,如果不是則說明最小的數不是第一個元素,則將這個數與第一個元素互換位置,這樣一輪下來最小的那個數就被找到並放到了最左邊。

【影片教學推薦:C語言教學#】

#】

c語言如何實作選擇排序演算法(程式碼範例)# #程式碼範例:

使用選擇排序法將一組手動輸入的資料由小到大進行排序,資料分別為52、36、2、39、56、45、78 、92、15、52。

實作程式碼:######
#include <stdio.h>
int main()
{
    int i,j,t,a[11];    //定义变量及数组为基本整型
    printf("请输入10个数:\n");
    for(i=1;i<11;i++)
        scanf("%d",&a[i]);    //从键盘中输入要排序的10个数字
    for(i=1;i<=9;i++)
        for (j=i+1;j<=10;j++)
            if(a[i]>a[j])    //如果前一个数比后一个数大,则利用中间变量t实现两值互换
            {
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
    printf("排序后的顺序是:\n");
    for(i=1;i<=10;i++)
        printf("%5d", a[i]);    //输出排序后的数组
    printf("\n");
    return 0;
}
###輸出:##################程式碼說明:##### ####程式碼中使用了兩個for 迴圈語句。第一個 for 迴圈是確定位置的,該位置是存放每次從待排序數列中經選擇和交換後所選出的最小數。第二個 for 迴圈是實現將確定位置上的數與後面待排序區間中的數進行比較的。 ###

以上是c語言如何實作選擇排序演算法(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多