1. 程式人生 > 其它 >C語言選擇排序從小到大,從大到小,詳細註釋

C語言選擇排序從小到大,從大到小,詳細註釋

技術標籤:C語言程式設計演算法c語言

【選擇排序程式如下】
程式修改說明:程式中的 if(b[j] < b[m]) 即是排序方式,< 即從小到大排序,改成 > 即從大到小排序。

#include <stdio.h>
int main()
{
#define LEN 10
    int b[LEN];//1,3,2,9,8,7,6,5,4,0
    int i, j, m, temp;
    printf("請輸入10個整數:");
    for( i = 0; i < LEN; i++)
        scanf("%d,"
, &b[i]); //進行N-1輪選擇,即迴圈LEN-1次互換位置,因為最後一個數據不需要換位置(10個數據,就需要9次即可) for( i = 0; i < LEN-1; i++) { m = i; //從剩下的到LEN-1個數據中選擇最小資料的下標 for( j = i+1; j < LEN; j++) //從剩餘資料中不斷獲取更小的資料 if(b[j] < b[m]) //如果還有更小的資料 m = j; //獲取它的陣列下標(位置) if
(m != i)//資料不一樣才需要互換位置 { temp = b[i]; b[i] = b[m]; b[m] = temp; } } printf("排序結果:"); for( j = 0; j < LEN; j++) printf("%d,", b[j]); printf("\n"); }

【執行結果如下】
在這裡插入圖片描述