C語言實現冒泡演算法

2021-06-21 14:23:12 字數 1545 閱讀 6293

打算認真研究演算法,所以,把這些基本演算法都寫出來,練練手。部分內容引用:坐在馬桶上看演算法2)

冒泡演算法特徵:每次迴圈只能讓乙個資料排到正確的位置上。因此,n個資料的排序,必須執行n-1次迴圈(讓n-1個資料排到正確位置上,剩下的那個自然是最小的,排在最後,不用迴圈)。

#include int main()

} printf("%d ",sort[i]);

} printf("\n");

getchar();

return 0;

}

執行結果

norton@norton-laptop:~/learning/sample code/algrithm/sort/bubble$ ./bubble.o

how many number will you input(1~20):

3let's begin to input num between 0~1000:

1020

30the sorting result is:30 20 10

norton@norton-laptop:~/learning/sample code/algrithm/sort/bubble$ ./bubble.o

how many number will you input(1~20):

4let's begin to input num between 0~1000:

2020

2020

the sorting result is:20 20 20 20

下面為每個分數加上名字標籤,讓分數有具體意義,通過增加結構體實現。

#include struct student

;int main()

} printf("no.%2d %8s %8d \n",i,class[i].name,class[i].score);

} printf("\n");

getchar();

return 0;

}

執行結果如下

norton@norton-laptop:~/learning/sample code/algrithm/sort/bubble$ ./bubble_score.o

how many record will you input(1~20):

5please input the record like this wangqi 100:

ken 80

jack 90

norton 95

koben 100

allen 99

the sorting result is:

rank      name     score

no. 0    koben      100

no. 1    allen       99

no. 2   norton       95

no. 3     jack       90

no. 4      ken       80

氣泡排序演算法C語言實現

氣泡排序 bubblesort 的基本概念是 依次比較相鄰的兩個數,將小數放在前面,大數放在後面。即在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放前,大數放後,如此繼續,直至比較最後兩個數,將小數放前,大數放後。至此第一趟結束,將最大的數放到了最後。在...

排序演算法 氣泡排序 C語言實現

氣泡排序介紹 氣泡排序 bubble sort 又稱為氣泡排序。這是一種較簡單的排序演算法。它會遍歷若干次要排序的陣列,每次遍歷時,它都會從前往後依次比較相鄰兩個數的大小 如果前者大於後者,則兩者位置互換。由此,一次遍歷後,最大元素就在數列末尾。採用相同方法再次遍歷時,第二大的元素就被排列在最大元素...

氣泡排序 c語言實現

氣泡排序 排序思想 1.對於乙個長度為n的陣列,進行n 1次迴圈 2.第一次次迴圈中,先將1和2元素比較,如果元素1比元素2大,則交換其位置,接著比較元素2和元素3,以此類推,最終最大的元素排在最後一位 3.接著第二次迴圈,要排序的元素個數減少乙個 最大的已經放在最後一位 重複2的過程 4.這樣,每...