C語言 | 冒泡排序比較大小


例23:C語言實現從小到大對10個數進行排序,要求使用冒泡排序實現。


解題思路:排序的規律有兩種:一種是“升序”,從小到大;另一種是“降序”,從大到小。
源代碼演示:

#include<stdio.h>//頭文件 
int main()//主函數 
{
  int i,j,t;//定義整型變量 
  int array[10];//定義數組大小 
  printf("請輸入十個數:");//提示語句 
  for(i=0;i<10;i++)//手動往數組里輸入10個數 
  {
    scanf("%d,",&array[i]);//注意&符號 
  } 
  for(j=0;j<9;j++)//外層循環限制 
  {
    for(i=0;i<9-j;i++)//內存循環 
    if(array[i]>array[i+1])//如果前一個數比后一個數大 
    {
      t=array[i]; //把小的數賦值給前面,大的數賦值給后面 
      array[i]=array[i+1];
      array[i+1]=t;
    }
  } 
  printf("按照從小到大的順序排序:");//提示語句 
  for(i=0;i<10;i++)//循環輸出10個數 
  {
    printf("%d ",array[i]);
  } 
  printf("\n");//換行 
  return 0;//函數返回值為0 
}

編譯運行結果如下:

請輸入十個數:9 8 4 1 6 2 7 4 10 9
按照從小到大的順序排序:1 2 4 4 6 7 8 9 9 10

--------------------------------
Process exited after 20.46 seconds with return value 0
請按任意鍵繼續. . .

以上就是很著名的“冒泡排序”,也稱為“起泡排序”,讀者通過此例對以后學習快速排序、堆排序等會有所啟示。
留個問題,讀者請思考從到小該如何排序呢?

 

C語言 | 冒泡排序比較大小

C語言學習路線   

C語言開發工具


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM