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 |