Bubble Sort

การเรียงลำดับแบบฟอง คือ การสลับค่า โดยแต่ละรอบจะเอาค่ามากที่สุดไปไว้หลังสุด ดังนี้

ตัวอย่างโจทย์

7
6
5
8
2
9
1
0
4
3

 

ขั้นที่ 1 เริ่มจากการเปรียบเทียบค่าในตำแหน่งที่ 1 กับ 2 เอาค่ามากไว้ด้านหลังถ้าค่าในตำแหน่งที่ 1 มากกว่าในตำแหน่งที่ 2 ให้สลับค่าในตำแหน่งที่ 1 และ 2 จากนั้นตำแหน่งที่ 2 กับ3 และ 3 กับ 4 ไปเรื่อย เอาค่ามากกว่าไว้ข้างหลัง ดังนี้

7
6
5
8
2
9
1
0
4
3

7>6 สลับ

 

6
7
5
8
2
9
1
0
4
3

7>5 สลับ

 

6
5
7
8
2
9
1
0
4
3

7<8 ไม่สลับ

 

6
5
7
8
2
9
1
0
4
3

8>2 สลับ

 

6
5
7
2
8
9
1
0
4
3

8<9 ไม่สลับ

 

6
5
7
2
8
9
1
0
4
3

9>1 สลับ

 

6
5
7
2
8
1
9
0
4
3

9>0 สลับ

 

6
5
7
2
8
1
0
9
4
3

9>4 สลับ

 

6
5
7
2
8
1
0
4
9
3

9>3 สลับ

 

6
5
7
2
8
1
0
4
3
9

จบรอบแรก !! จะเห็นว่า ค่ามากที่สุดจะมาอยู่ข้างหลัง คือ 9 ดังนั้นในรอบถัดไปจะสลับจนถึงตำแหน่งก่อนเลข 9 เท่านั้น

 

ขั้นที่ 2 เริ่มจากการเปรียบเทียบค่าในตำแหน่งที่ 1 กับ 2 เอาค่ามากไว้ด้านหลังถ้าค่าในตำแหน่งที่ 1 มากกว่าในตำแหน่งที่ 2 ให้สลับค่าในตำแหน่งที่ 1 และ 2 จากนั้นตำแหน่งที่ 2 กับ3 และ 3 กับ 4 ไปเรื่อย เอาค่ามากกว่าไว้ข้างหลัง ดังนี้

6
5
7
2
8
1
0
4
3
9

6>5 สลับ

 

5
6
7
2
8
1
0
4
3
9

6<7 ไม่สลับ

 

5
6
7
2
8
1
0
4
3
9

7>2 สลับ

 

5
6
2
7
8
1
0
4
3
9

7<8 ไม่สลับ

 

5
6
2
7
8
1
0
4
3
9

8>1 สลับ

 

5
6
2
7
1
8
0
4
3
9

8>0 สลับ

 

5
6
2
7
1
0
8
4
3
9

8>4 สลับ

 

5
6
2
7
1
0
4
8
3
9

8>3 สลับ

 

5
6
2
7
1
0
4
3
8
9

จบรอบสอง !! จะเห็นว่า ค่ามากที่สุดจะมาอยู่ข้างหลัง คือ 8 ดังนั้นในรอบถัดไปจะสลับจนถึงตำแหน่งก่อนเลข 8 เท่านั้น

 

รอบถัดๆไปจะขอละคำอธิบายไว้นะคะ

5
6
2
7
1
0
4
3
8
9
5
6
2
7
1
0
4
3
8
9
5
2
6
7
1
0
4
3
8
9
5
2
6
7
1
0
4
3
8
9
5
2
6
1
7
0
4
3
8
9
5
2
6
1
0
7
4
3
8
9
5
2
6
1
0
4
7
3
8
9
5
2
6
1
0
4
3
7
8
9

 

5
2
6
1
0
4
3
7
8
9
2
5
6
1
0
4
3
7
8
9
2
5
6
1
0
4
3
7
8
9
2
5
1
6
0
4
3
7
8
9
2
5
1
0
6
4
3
7
8
9
2
5
1
0
4
6
3
7
8
9
2
5
1
0
4
3
6
7
8
9

 

2
5
1
0
4
3
6
7
8
9
2
5
1
0
4
3
6
7
8
9
2
1
5
0
4
3
6
7
8
9
2
1
0
5
4
3
6
7
8
9
2
1
0
4
5
3
6
7
8
9
2
1
0
4
3
5
6
7
8
9

 

2
1
0
4
3
5
6
7
8
9
1
2
0
4
3
5
6
7
8
9
1
0
2
4
3
5
6
7
8
9
1
0
2
4
3
5
6
7
8
9
1
0
2
3
4
5
6
7
8
9

 

1
0
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9

 

เสร็จการทำ BubbleSort เมื่อตัวเลขถูกเรียงจากน้อยไปมากตามนี้

0
1
2
3
4
5
6
7
8
9

 


Sign GuestBook