冒泡法是一種排序方法
冒泡法 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又浮上去,依此類推
得到
所以形象的稱為冒泡法
——————————————————————————————————
以下是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(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");
printf("%3d>%d\n",i1+1,arrary[i1]);
getch();
return0;
冒泡法是一種排序方法
冒泡法 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;
}