C語言選擇排序算法
用選擇排序法對一組數據由小到大進行排序,數據分別為 526、36、2、369、56、45、78、92、125、52。
實現過程:
(1) 程序中用到T兩個 for 循環語句。第一個 for 循環是確定位置的,該位置是存放每次從待排序數列中經選擇和交換后所選出的最小數。第二個 for 循環是實現將確定位置上的數與后面待排序區間中的數進行比較的。
(2) 程序代碼如下:
#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;
}
運行結果:
請輸入10個數:
526 36 2 369 56 45 78 92 125 52
排序后的順序是:
2 36 45 52 56 78 92 125 369 526
技術要點:
選擇排序的基本算法是從待排序的區間中經過選擇和交換后選出最小的數值存放到 a[0] 中,再從剩余的未排序區間中經過選擇和交換后選出最小的數值存放到 a[1] 中,a[1] 中的數字僅大于 a[0],依此類推,即可實現排序。
- C語言歸并排序算法
- 用歸并排序法對一組數據由小到大進行排序,數據分別為 695、458、362、789、12、 15、163、23、2、986。
- 03-05 關注:0
- C語言選擇排序算法
- 用選擇排序法對一組數據由小到大進行排序,數據分別為 526、36、2、369、56、45、78、92、125、52。
- 03-05 關注:0
- C語言快速排序算法
- 用快速排序法對一組數據由小到大進行排序,數據分別為 99、45、12、36、69、22、62、 796、4、696。
- 03-05 關注:0
- C語言直接插入排序算法
- 插入排序是把一個記錄插入到已排序的有序序列中,使整個序列在插入該記錄后仍然有序。插入排序中較簡單的種方法是直接插入排序
- 03-03 關注:3
- C語言冒泡排序算法
- 用冒泡排序法對任意輸入的 10 個數按照從小到大的順序進行排序。
- 03-03 關注:5
- C語言希爾排序算法
- 用希爾排序法對一組數據由小到大進行排序,數據分別為 69、56、12、136、3、55、46、 99、88、25。
- 03-03 關注:3