氣泡排序法 –o(n -...
TRANSCRIPT
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-3
-1
10
7
2
1
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-3
-1
10
7
2
2
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-3
-1
10
7
2
3
-
9
-3
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
4
-
9
-3
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
5
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
6
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
7
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
8
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
9
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
10
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
11
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
12
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
13
-
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
-1
10
7
2
14
18
-3
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
15
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
16
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
17
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
18
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
19
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
20
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
-1
10
7
-3
21
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
10
7
-3
-1
22
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-318
9
10
7
-3
-1
23
-
13
2
9
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序之資料 -3, -1, 2, 7, 9, 10, 13, 18
13
18
-1
10
7
2
-3
9
10
7
-3
24
18
-1
-
13
2
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
25
-
13
2
9 9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
26
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
27
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
28
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
29
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
30
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
31
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-1
2
-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
32
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
7
10
-1-3
-1
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
33
18
2
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
34
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
35
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
36
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
37
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
38
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
39
18
7
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
40
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
41
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
42
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
43
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
44
18
9
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
-3
13
18
97
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
45
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
-3
13
18
97
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
46
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
-3
13
97
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
47
18
10
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
-3
13
18
97
10
-1
2
-3
13
18
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
48
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
-3
13
18
97
10
-1
2
-3
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
49
13
18
-
13
2
9
9
氣泡排序法 – O(n2)
13
18
-1
10
7
2
-3
18
9
10
7
-3
13
18
7
10
-12
-3
-1
-3
13
18
7
10
-1
2
-3
13
18
9
7
10
-1
2
-3
13
18
97
10
-1
2
-3
13
18
9
7
10
-1
2
-3
1318
9
7
10
-1
2
9
每一階段將範圍內最小的元素移到最前面怎麼好像不只最小的元素在動呢?? 因為事先不知道哪一個最小, 所以來個打帶跑一邊尋找最小的, 一邊把目前知道的最小元素往前移動
50
-
• 規劃變數來存放資料, 用迴圈來完成重複的動作
51
-
• 規劃變數來存放資料, 用迴圈來完成重複的動作
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
52
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
• 規劃變數來存放資料, 用迴圈來完成重複的動作
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
53
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
• 規劃變數來存放資料, 用迴圈來完成重複的動作
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
54
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (j=n-2; j>=0; j--)
• 規劃變數來存放資料, 用迴圈來完成重複的動作
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
55
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i=i; j--)
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
56
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i=i; j--)
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
57
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i=i; j--)
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
58
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; idata[j+1])swap(&data[j], &data[j+1]);
for (j=n-2; j>=i; j--)
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
59
-
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; idata[j+1])swap(data+j, data+j+1);
for (j=n-2; j>=i; j--)
if (data[j]>data[j+1])swap(&data[j], &data[j+1]);
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
60
-
• (n-1)+(n-2)+…+1 = n(n-1)/2 comparisons
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; idata[j+1])swap(data+j, data+j+1);
for (j=n-2; j>=i; j--)
if (data[j]>data[j+1])swap(&data[j], &data[j+1]);
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
61
-
• (n-1)+(n-2)+…+1 = n(n-1)/2 comparisons O(n2) comparisons
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; idata[j+1])swap(data+j, data+j+1);
for (j=n-2; j>=i; j--)
if (data[j]>data[j+1])swap(&data[j], &data[j+1]);
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
62
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
9
13
18
-3
-1
10
7
2
63
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
9
13
18
-3
-1
10
7
2
64
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
9
13
18
-3
-1
10
7
2
65
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
9
-3
13
18
-1
10
7
2
66
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
9
-3
13
18
-1
10
7
2
67
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
9
13
18
-1
10
7
2
-3
68
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
9
13
18
-1
10
7
2
-3
69
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
9
13
18
-1
10
7
2
-3
70
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
9
13
18
-1
10
7
2
-3
71
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
9
13
18
-1
10
7
2
-3
72
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
9
13
18
-1
10
7
2
-3
73
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
9
13
18
-1
10
7
2
-3
74
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
9
13
18
-1
10
7
2
-3
75
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
9
13
18
-1
10
7
2
76
-3
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
13
2
-318
9
-1
10
7
77
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
13
2
-318
9
-1
10
7
78
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
13
2
-318
9
-1
10
7
79
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
13
2
-318
9
-1
10
7
80
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
13
2
-318
9
-1
10
7
81
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
13
2
-318
9
-1
10
7
82
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
13
2
-318
9
-1
10
7
83
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
13
2
-318
9
10
7
-1
84
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
13
2
-318
9
10
7
-1
85
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
13
2
-3
18
9
10
7
86
-1
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
9
-3
13
18
7
10
-1
2
87
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
9
-3
13
18
7
10
-1
2
88
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
9
-3
13
18
7
10
-1
2
89
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
9
-3
13
18
7
10
-1
2
90
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
9
-3
13
18
7
10
-1
2
91
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
9
-3
13
18
7
10
-1
2
92
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
9
-3
13
18
7
10
-1
2
93
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
9
-3
13
18
7
10
-1
94
2
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3
13
18
7
10
-1
2
9
95
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3
13
18
7
10
-1
2
9
96
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3
13
18
7
10
-1
2
9
97
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3
13
18
7
10
-1
2
9
98
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3
13
18
7
10
-1
2
9
99
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3
13
18
10
-1
2
9
100
7
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3
13
18
9
7
10
-1
2
101
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3
13
18
9
7
10
-1
2
102
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3
13
18
9
7
10
-1
2
103
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3
13
18
9
7
10
-1
2
104
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3
13
18
7
10
-1
2
105
9
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3, -1, 2, 7, 9, 18, 10, 13
-3
13
18
97
10
-1
2
106
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3, -1, 2, 7, 9, 18, 10, 13
-3
13
18
97
10
-1
2
107
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3, -1, 2, 7, 9, 18, 10, 13
-3
13
18
97
-1
2
108
10
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3, -1, 2, 7, 9, 18, 10, 13
-3, -1, 2, 7, 9, 10, 18, 13
-3
13
18
9
7
10
-1
2
109
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3, -1, 2, 7, 9, 18, 10, 13
-3, -1, 2, 7, 9, 10, 18, 13
-3
18
9
7
10
-1
2
110
13
-
氣泡排序法 – O(n2)未排序資料 18, 2, 13, -1, 10, 7, 9, -3
由小到大排序完成之資料 -3, -1, 2, 7, 9, 10, 13, 18
18, 2, 13, -1, 10, 7, 9, -3
18, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
18, 2, 13, -1, -3, 10, 7, 9
18, 2, 13, -3, -1, 10, 7, 9
18, 2, -3, 13, -1, 10, 7, 9
18, -3, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 10, 7, 9
-3, 18, 2, 13, -1, 7, 10, 9
-3, 18, 2, -1, 13, 7, 10, 9
-3, 18, -1, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 10, 9
-3, -1, 18, 2, 13, 7, 9, 10
-3, -1, 18, 2, 7, 13, 9, 10
-3, -1, 2, 18, 7, 13, 9, 10
-3, -1, 2, 18, 7, 9, 13, 10
-3, -1, 2, 7, 18, 9, 13, 10
-3, -1, 2, 7, 18, 9, 10, 13
-3, -1, 2, 7, 9, 18, 10, 13
-3, -1, 2, 7, 9, 10, 18, 13
-3
1318
9
7
10
-1
2
-3, -1, 2, 7, 9, 10, 13, 18111
-
資料的比對次數與交換次數
112
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
113
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
nComp = nComp + 1;
114
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
int nComp=0;
nComp = nComp + 1;
115
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
int nComp=0;
nComp = nComp + 1;
printf("%d", nComp);116
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
int nComp=0;
nComp = nComp + 1;
printf("%d", nComp);117
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
nExch = nExch + 1;
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
int nComp=0;
nComp = nComp + 1;
printf("%d", nComp);118
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
nExch = nExch + 1;
int nExch=0;for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
int nComp=0;
nComp = nComp + 1;
printf("%d", nComp);119
-
資料的比對次數與交換次數
for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
nExch = nExch + 1;
int nExch=0;for (i=0; i=i; j--) {
if (data[j]>data[j+1]) {tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
}
int nComp=0;
nComp = nComp + 1;
printf("%d", nComp); printf("%d", nExch);120
-
提早結束迴圈
• 如果在某一個 i 值
121
-
提早結束迴圈
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時
122
-
提早結束迴圈
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了
123
-
提早結束迴圈
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
124
-
提早結束迴圈
13
9
10
18
-3
7
-1
2
i = 4
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
125
-
提早結束迴圈
13
9
10
18
-3
7
-1
2
i = 4
j = 6
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
126
-
提早結束迴圈
13
9
10
18
-3
7
-1
2
i = 4
j = 5
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
127
-
提早結束迴圈
13
9
10
18
-3
7
-1
2
i = 4
j = 4
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
128
-
提早結束迴圈
-3
7
-1
2
i = 4
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
13
9
10
18 129
-
提早結束迴圈
-3
7
-1
2
i = 4for (i=0; i=i; j--)if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
; i++) {
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
13
9
10
18 130
-
提早結束迴圈
-3
7
-1
2
i = 4for (i=0; i=i; j--)if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
nExch=0;; i++) {
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
13
9
10
18
int nExch;
131
-
提早結束迴圈
-3
7
-1
2
i = 4for (i=0; i=i; j--)if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
nExch=0;
nExch = nExch + 1;
; i++) {
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
13
9
10
18
int nExch;
132
-
提早結束迴圈
-3
7
-1
2
i = 4for (i=0; i=i; j--)if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
nExch=0;
nExch = nExch + 1;
&& nExch>0; i++) {
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
13
9
10
18
int nExch;
133
-
提早結束迴圈
-3
7
-1
2
i = 4for (i=0; i=i; j--)if (data[j]>data[j+1]) {
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
}}
nExch=0;
nExch = nExch + 1;
&& nExch>0; i++) {int nExch=1;
• 如果在某一個 i 值, 發現已經沒有任何的資料需要交換時, 表示已經依照順序排好了, 可以提早結束迴圈, 例如:
13
9
10
18 134
-
程式做了什麼?
135
-
讓它自己說清楚…
程式做了什麼?
136
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就
把目前陣列裡的資料印出來
程式做了什麼?
137
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -3
程式做了什麼?
138
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
程式做了什麼?
139
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
程式做了什麼?
140
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?
程式做了什麼?
141
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了
程式做了什麼?
142
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
程式做了什麼?
143
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?
• 重要方法:
都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
程式做了什麼?
144
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?
• 重要方法:
都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
• 重要方法: 想要知道程式做了什麼事, 就是要看到所有的資料變化
程式做了什麼?
145
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
• 重要方法: 想要知道程式做了什麼事, 就是要看到所有的資料變化, 如果程式最後的表現不對
程式做了什麼?
146
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
• 重要方法: 想要知道程式做了什麼事, 就是要看到所有的資料變化, 如果程式最後的表現不對, 就需要和手動的資料變化比較
程式做了什麼?
147
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
程式做了什麼?
148
• 重要方法: 想要知道程式做了什麼事, 就是要看到所有的資料變化, 如果程式最後的表現不對, 就需要和手動的資料變化比較, 找到不一致
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
• 重要方法: 想要知道程式做了什麼事, 就是要看到所有的資料變化, 如果程式最後的表現不對, 就需要和手動的資料變化比較, 找到不一致, 再去找哪一列程式導致這個中間結果的不一致, 修改它
程式做了什麼?
149
-
讓它自己說清楚… 這個程式要求大家在每一次資料交換之後就把目前
陣列裡的資料印出來 18, 2, 13, -1, 10, 7, 9, -318, 2, 13, -1, 10, 7, -3, 9
18, 2, 13, -1, 10, -3, 7, 9
…
• 好討厭, 為什麼要印那麼多?都看不清楚到底印出什麼了有沒有錯? 到底哪裡有錯也不容易找到
• 重要方法: 想要知道程式做了什麼事, 就是要看到所有的資料變化, 如果程式最後的表現不對, 就需要和手動的資料變化比較, 找到不一致, 再去找哪一列程式導致這個中間結果的不一致, 修改它, 這是標準的 Debug 方法
程式做了什麼?
150
-
大部分的實作 - 讓最重的沉下去
151
-
大部分的實作 - 讓最重的沉下去
152
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
-
大部分的實作 - 讓最重的沉下去
153
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
-
大部分的實作 - 讓最重的沉下去
154
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
int n=8, data[]={18, 2, 13, -1, 10, 7, 9, -3};
-
大部分的實作 - 讓最重的沉下去
155
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (j=0; j
-
大部分的實作 - 讓最重的沉下去
156
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i
-
大部分的實作 - 讓最重的沉下去
157
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i
-
大部分的實作 - 讓最重的沉下去
最主要的差別在於第二層的迴圈
158
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i
-
大部分的實作 - 讓最重的沉下去
最主要的差別在於第二層的迴圈
沉下去 - 由最前面一對 (0,1) 開始向後比 for (j=0; jdata[j+1]) {
}
for (i=0; i
-
大部分的實作 - 讓最重的沉下去
最主要的差別在於第二層的迴圈
沉下去 - 由最前面一對 (0,1) 開始向後比 for (j=0; j=i; j--)160
tmp = data[j];data[j] = data[j+1];data[j+1] = tmp;
if (data[j]>data[j+1]) {
}
for (i=0; i