104. 氣泡排序法

I'm a slow walker, but I never walk backwards.

Task Description
排序(Sorting)在電腦領域中是非常普遍且重要工作,即是將一群不規格的資料按照某個規格來重新排列,
讓排序過的資料容易閱讀、利於統計整理、和減少搜尋時間,假若資料只有10筆左右,還能以人工的方式排序,
但若資料多到萬筆以上就會相當困難,因此,排序演算法就變得相當重要。

氣泡排序法(Bubble Sort)的原理是從第一筆資料開始,逐一比較相鄰兩筆資料,
如果兩筆大小順序有誤則做交換,反之則不動,接者再進行下一筆資料比較,
所有資料比較完第1回合後,可以確保最後一筆資料是正確的位置。
請試著實作一氣泡排序法的函式。

Hint

bubble_sort.h

打上 function header 以及相關的設定。

void bubble_sort(int data[]);

bubble_sort.c

撰寫程式碼後對應上傳。

#include "bubble_sort.h"
void bubble_sort(int data[]) {
    / add your code /
}

main.c

這個檔案無法更改也無須上傳。

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include "bubble_sort.h"
 
int main() {
    int data[5];   
    for(int i=0; i<5; i++)
        scanf("%d", &data[i]);
 
    bubble_sort(data);
 
    return 0;
}

Input Format
每一列測試資料為一包含5個整數的陣列
Output Format
輸出排序好的陣列
Sample Input

1
9 5 4 1 6

Sample Output

1
1 4 5 6 9

Submit

Login

Testdata Set

Download Testdata