c语言文件归并问题_C语言 | 选择法对10个数排序
生活随笔
收集整理的這篇文章主要介紹了
c语言文件归并问题_C语言 | 选择法对10个数排序
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
例60:C語言實現用選擇法對10個整數排序。
解析:選擇排序思路如下,設有10個元素a[1]~a[10],將a[1]與a[2]~a[10],若a[1]比a[2]~a[10]都小,則不進行交換,即無任何操作。
若a[2]~a[10]中有一個以上比a[1]小,則將其中最大的一個,與a[1]交換,此時a[1]中存放了10個中最小的數。依次類推,共進行9輪比較,a[1]~a[10]就已按由小到大的順序存放了。
整體代碼邏輯為了讓讀者更加清晰,小林這里分為四部分:
第一部分 鍵盤輸入10個數:
for(i=1;i<=10;i++)//依次鍵盤錄入10個數據 {printf("array[%d]=",i-1);//數組下標從0開始 scanf("%d",&array[i]);}第二部分 輸出鍵盤錄入的10個數:
for(i=1;i<=10;i++)//將鍵盤錄入的10個數原樣輸出 {printf("%5d",array[i]);}第三部分 排序邏輯:
for(i=1;i<=9;i++){min=i;//把第一個數作為最小的 for(j=i+1;j<=10;j++){ if(array[min]>array[j])//判斷大小,小的為min {min=j;} }temp=array[i]; //大小交換 array[i]=array[min];array[min]=temp; }第四部分 排序后的10個數:
for(i=1;i<=10;i++)//輸出排序后的10個數 {printf("%5d",array[i]);}源代碼演示:
#include<stdio.h>//頭文件 int main()//主函數 {int i,j,min,temp,array[11];//定義整型變量和數組 printf("輸入數據:n");//提示語句 for(i=1;i<=10;i++)//依次鍵盤錄入10個數據 {printf("array[%d]=",i-1);//數組下標從0開始 scanf("%d",&array[i]);}printf("n");//換行 printf("原樣輸出:n");//提示語句 for(i=1;i<=10;i++)//將鍵盤錄入的10個數原樣輸出 {printf("%5d",array[i]);}printf("n");//換行for(i=1;i<=9;i++){min=i;//把第一個數作為最小的 for(j=i+1;j<=10;j++){ if(array[min]>array[j])//判斷大小,小的為min {min=j;} }temp=array[i]; //大小交換 array[i]=array[min];array[min]=temp; } printf("排序輸出:n");//提示語句 for(i=1;i<=10;i++)//輸出排序后的10個數 {printf("%5d",array[i]);}printf("n");//換行return 0;//主函數返回值為0 }編譯運行結果如下:
輸入數據: array[0]=1 array[1]=4 array[2]=7 array[3]=9 array[4]=4 array[5]=3 array[6]=7 array[7]=9 array[8]=5 array[9]=3原樣輸出:1 4 7 9 4 3 7 9 5 3 排序輸出:1 3 3 4 4 5 7 7 9 9-------------------------------- Process exited after 8.036 seconds with return value 0 請按任意鍵繼續. . .想看快速排序,歸并排序各種排序的點贊告訴我啦
C語言 | 選擇法排序?mp.weixin.qq.com總結
以上是生活随笔為你收集整理的c语言文件归并问题_C语言 | 选择法对10个数排序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql粘贴数据_Navicat 如何
- 下一篇: mysql自动添加多条数据_用一条mys