回覆列表
  • 1 # 扶尾貓秋風水清

    冒泡法是一種排序方法

    冒泡法  54321

      比如上面這5個數字我們把它按照由小到大的順序排列,

      從前往後相臨兩位比較大小,如果前一位比後一位大就把它倆

      換位,5比4大就把5和4換位,得到45321

      5又比3大5和3換位得到43521依次類推最後得到

      43215這樣就把最大的一個數字移到最後面了

      然後不看5,剩下4321再用上面的方法把4移動到最後

      得到32145在不看45剩下321把3移動到

      最後,依此類推。

      最終得到12345

      這就是冒泡法,是計算機程式設計排序中最簡單快捷的方法。

      除此意外我還能寫出許多排序方法,但是效率上都不如冒泡法

      至於為什麼叫冒泡法呢,你把這幾個數字豎起來看

      1

      2

      3

      4

      5

      把最大的數字5看成最大的泡泡,浮到最上,然後4又浮上去,依此類推

      得到

      5

      4

      3

      2

      1

      所以形象的稱為冒泡法

      ——————————————————————————————————

      以下是C語言中十個數的冒泡法排序的程式碼

      #include<stdio.h>

      #include<conio.h>

      intmain(void)

      {

      longarrary[9],

      box=0L;

      inti1=0,

      i2=0;

      for(i1=0;i1<9;i1++)

      arrary[i1]=0;

      printf("輸入陣列元素:\n");

      for(i1=0;i1<=9;i1++)

      {

      printf("%3d>",i1+1);

      scanf("%d",&arrary[i1]);

      }

      for(i1=0;i1<=9;i1++)

      for(i2=0;i2<=9-i1;i2++)

      {

      if(arrary[i2]<arrary[i2+1])

      {

      box=arrary[i2+1];

      arrary[i2+1]=arrary[i2];

      arrary[i2]=box;

      }

      }

      printf("\n排序後為:\n");

      for(i1=0;i1<=9;i1++)

      printf("%3d>%d\n",i1+1,arrary[i1]);

      getch();

      return0;

      }

  • 中秋節和大豐收的關聯?
  • solr怎麼建立索引?