冒泡法排序c語言
冒泡法排序c語言是什麼?對於許多用戶來說是不瞭解的知識,本期就和大家分享關於冒泡法排序c語言,感興趣的朋友可以接着往下看。
C語言冒泡排序法的排序規則:
將被排序的記錄數組R[1..n]垂直排列,每個記錄R看作是重量爲R.key的氣泡。根據輕氣泡不能在重氣泡之下的原則,從下往上掃描數組R:凡掃描到違反本原則的輕氣泡,就使其向上"飄浮"。如此反覆進行,直到最後任何兩個氣泡都是輕者在上,重者在下爲止。
1、初始 R[1..n]爲無序區。
2、第一趟掃描 從無序區底部向上依次比較相鄰的兩個氣泡的重量,若發現輕者在下、重者在上,則交換二者的位置。
即依次比較(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);對於每對氣泡(R[j+1],R[j]),若R[j+1].key<R[j].key,則交換R[j+1]和R[j]的內容。 第一趟掃描完畢時,"最輕"的氣泡就飄浮到該區間的頂部,即關鍵字最小的記錄被放在最高位置R[1]上。
3、第二趟掃描 掃描R[2..n]。
掃描完畢時,"次輕"的氣泡飄浮到R[2]的位置上…… 最後,經過n-1 趟掃描可得到有序區R[1..n] 注意: 第i趟掃描時,R[1..i-1]和R[i..n]分別爲當前的有序區和無序區。掃描仍是從無序區底部向上直至該區頂部。掃描完畢時,該區中最輕氣泡飄浮到頂部位置R上,結果是R[1..i]變爲新的有序區。
c語言冒泡排序的編程爲:
#include <stdio.h>
void sort(int *a,int len)
{int i=0;
int j;
int t;
for(i=0;i<len-1;i++)[1]
{
for(j=0;j<len-i-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
}
int main(int argc, char *argv[])
{
int a[10]={
-999,2,3,77,12,88,0,-8,99,100
};
int i=0;
sort(a,10);
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
-
怎麼查蘋果耳機是不是正品
1、檢查外包裝盒正品盒子外有一層膠帶封住,正品膠帶黏度適中,而且乾淨透亮。開啓盒子需稍微用力,盒子和蓋子之間連接緊密,不易脫落。仿品的透明蓋已脫落,開啓十分容易,盒子和蓋子之間連接不緊密,倒置時受重力影響會分開,更要注意仿品外包裝的膠帶與正品的不同。2、查看...
-
電腦啓動不起來是什麼原因
1、首先可能是電源出現問題導致啓動不起來,建議檢查電源。2、主機內部電路損壞,建議找專業人員維修。3、風扇的轉速以及平穩性不好,導致散熱不好,主機無法啓動。4、CUP損壞後也會出現此現象,CPU損壞無法通過自檢,計算機無法啓動。...
-
蘋果相機前置攝像頭自拍是真實的自己嗎
用蘋果前置攝像頭拍出來的照片不是真實的自己,這是因爲蘋果手機的前置攝像頭的像素非常高,拍出來的照片就像照鏡子,人臉上的各種小斑點以及小痘印和細小的皺紋都看得清清楚楚,但也只是感覺像自己而已。但是也有一部份人認爲不像真實的自己,好像五官都沒有立體感了,當...
-
淘寶上買的東西地址填錯了怎麼辦
當我們在淘寶購物選好自己想買的東西后下單時需要爲商家提供地址,雖然說現在都有之前填寫過的收貨地址基本上只需要自己選擇一下就可以,但是有時自己難免大意將地址選錯,那麼選錯了地址以後應該怎麼辦呢?郵遞前:當發現自己地址填錯後,儘快的聯繫一下賣家,可以取消訂單...