วิทยกรแกรนำ

ศูนย์การเรียนรู้ชุมชนในโรงเรียน

Programming.in.th

machine

ipst robot

camp

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday1315
mod_vvisit_counterYesterday3668
mod_vvisit_counterThis week15213
mod_vvisit_counterLast week16169
mod_vvisit_counterThis month1315
mod_vvisit_counterLast month64507
mod_vvisit_counterAll days2046542

เรามี: 30 บุคคลทั่วไป, 1 สมาชิก, 6 bots ออนไลน์
Your IP: 54.242.18.190
 , 
Today: ส.ค. 01, 2014
สาขาคอมพิวเตอร์ สสวท., Powered by Joomla!
สื่อการสอน - Bubble Sort พิมพ์ อีเมล
สื่อ หนังสือเรียน คู่มือครู
เขียนโดย Administrator   
ดัชนีบทความ
สื่อการสอน
Binary Tree
Shortest Path
Bubble Sort
ทุกหน้า

Bubble Sort

 

คำนำ

         การเรียงลำดับวิธีนี้จะกระทำโดยการเปรียบเทียบค่าข้อมูลที่อยู่ติดกันทีละคู่ไปเรื่อยๆ ในกรณีเรียง ลำดับข้อมูลจากน้อยไปมาก ถ้าค่าแรกมีค่ามากกว่าค่าสองก็จะทำการสลับที่กัน โดยวิธีการนี้ จะทำให้ ข้อมูลที่มีค่าน้อยกว่าลอยสูงขึ้นเรื่อยเหมือนฟองสบู่(bubble) ที่ลอยขึ้นที่สูง และข้อมูลที่น้อยที่สุดก็จะ อยู่ในต่ำแหน่งบนสุดของชุดข้อมูลจึงเรื่อยการเรียงลำดับวิธีนี้ว่า BUBBLE  SORT

 

 

ขั้นตอนวิธีในการเรียงลำดับ (เรียงลำดับจากน้อยไปมาก)

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

 

วิธีการ

1. สมมุติว่าแท่งเหล็กแต่ละแท่งเป็นข้อมูลที่มีค่าต่างกัน วางข้อมูลลงบนแผงวางข้อมูลโดยไม่ต้อง เรียงลำดับ

2. ผลักเม็ดพลาสติกสีแดงไปทางด้านขวาทั้งหมด เพื่อเริ่มรอบของการทำงาน

3. เปรียบเทียบข้อมูลตัวที่ 1 กับตัวที่ 2

          A. ถ้าตัวที่ 2 น้อยกว่าตัวที่ 1 (แท่งเหล็กแท่งที่ 2 สั้นกว่าแท่งที่ 1) ให้สลับที่ข้อมูลและเลื่อนเม็ดพลาสติกมาทางด้ายซ้าย 1 เม็ด แล้วไปทำข้อ 4

          B. ถ้าตัวที่ 2 มากกว่าตัวที่ 1 (แท่งเหล็กแท่งที่ 2 ยาวกว่าแท่งที่ 1) ไม่ต้องสลับที่ข้ามไปทำข้อ 4

4. ทำการเปรียบเทียบและสลับที่ข้อมูลไปเรื่อยๆโดยใช้หลักการในข้อ A และ B จนถึงตัวสุดท้าย

5. ตรวจสอบว่ามีเม็ดพลาสติกสีแดงถูกเลื่อนมาทางด้านซ้ายหรือไม่

          C. ถ้ามีแสดงว่ามีการสลับที่ของข้อมูลโดยจำนวนครั้งของการสลับที่เท่ากับจำนวนเม็ดพลาสติกที่อยู่ทางซ้าย ให้ย้อนกลับไปทำตั้งแต่ข้อที่ 2 ใหม่

          D. ถ้าไม่มีเม็ดพลาสติกอยู่ทางซ้ายแสดงว่าข้อมูลได้เรียงลำดับจากน้อยไปมากเรียบร้อยแล้ว และจบการทำงาน

 

   buble_sort

รูปอุปกรณ์ช่วยในการสอนเรื่อง Bubble Sort

 



แก้ไขล่าสุด ใน วันพุธที่ 30 ธันวาคม 2009 เวลา 09:34 น.
 

QRCode

สมาชิก



เนื้อหาที่เกี่ยวข้อง