NOJ 1543 氣泡排序

2021-07-23 22:15:49 字數 623 閱讀 7087

2016.10.10

【題目描述】

氣泡排序

時限:1000ms 記憶體限制:10000k 總時限:3000ms

描述 寫乙個氣泡排序的程式。

輸入 先輸入乙個小於等於10000的正整數n,再輸入n個整數,

輸出 把輸入資料按從小到大的順序排序後輸出,每個數字佔一行。

輸入樣例

5 2

6 9

4 123

輸出樣例

2 4

6 9

123【解題思路】

假設有n個元素,氣泡排序的思想就是進行n-1次遍歷,每次遍歷前1~n-i+1個數,如果大小關係不合適就交換。這樣保證了每次能保證確定的最後乙個數字是最大或最小的。時間複雜度為o(n2)。

【**實現】

# include 

void swap(int

*,int

*);int main(void)

void swap(int

*a,int

*b)

void bubble_sort(void)//氣泡排序加強版

}}

【心得體會】

氣泡排序 排序 氣泡排序

既然寫了計組思來想去便打算把資料結構也寫下來,寫的時候總是發現看的時候無法發現的問題,受益良多。交換排序的基本思想 exchange until sorted 順序,分支,迴圈 注意偽 的熟悉 下面介紹兩種交換演算法 首先進行聯想,用乙個圖進行輔助聯想 水冒泡過程 頂部是陣列的begin,底部理解為...

NOJ 1003 快速排序

給定乙個數列,用快速排序演算法把它排成公升序。第一行是乙個整數n n不大於10000 表示要排序的數的個數 下面一行是用空格隔開的n個整數。輸出排序後的數列,每個數字佔一行。5 3 2 1 4 5 123 45 include using namespace std void quicksort i...

氣泡排序 氣泡排序法

冒泡法是一種簡單的排序方法,它的實現非常簡單。首先對n個專案進行掃瞄,比較相領兩個專案的大小,若發現違背大小次序則進行互換,由此可以使n個專案中的最大者換到最後。然後對剩下的未排序好的專案再進行掃瞄,使它們的最大者換到表的最後。以此類推,直到將表全部排序好為止。這種排序方法,每遍掃瞄以後,都縮短了待...