ขั้นตอนการทำ ของ การจัดเรียงแบบหวี

1.คำนวณหาค่า Gap ระหว่างช่องที่จะเปรียบเทียบค่าโดยจะคำนวณหา Gap จาก Shink factor โดยคุณ Stephen lacey และ Richard Box แนะนำควรเป็น  1.3 มีที่มาจากสูตรดังนี้

สูตรการคำนวณ Comb sort

2.ทำการวนลูปเพื่อเทียบค่าและสลับตำแหน่งของข้อมูล การทำงานในส่วนนี้จะคล้ายกับการจัดเรียงแบบบับเบิ้ลแต่ส่วนที่ต่างกันก็คือตำแหน่งการเปรียบเทียบค่า    การเทียบค่าการจัดเรียงข้อมูลแบบบับเบิ้ลจะเทียบค่าตำแหน่งที่ i กับ i+1 ซึ่งวิธีการแบบ comb จะเทียบตำแหน่งที i กับ i+gap โดยจะทำการเทียบค่าและสลับตำแหน่งข้อมูลที่ต้องการตามจำนวนสมาชิกในชุดข้อมูล  หลังจากนั้นจะคำนวณค่า gap ใหม่อีกครั้งและเช็คว่าค่า gap เป็นหนึ่งหรือไม่มีการการสลับตำแหน่งข้อมูลแล้ว จึงจะยุติการทำงาน ทำให้ได้ชุดข้อมูลที่มีการเรียงลำดับเรียบร้อย

ตัวอย่างการทำงาน

- กำหนดให้

- count คือ ตำแหน่ง loop การเทียบค่าของ 0 ถึง array_len – value

- array_len คือ ความยาวทั้งหมดของ array

- value คือ ค่าที่ถูกหารด้วย 1.3

- index คือ ตำแหน่งเปรียบเทียบของ count + value ที่การวนลูปแต่ล่ะรอบ

จะยกตัวอย่างจากข้อมูลง่ายๆ โดยให้ข้อมูลมีความยาวเท่ากับ 7 โดยเริ่มต้นจะให้

รอบที่ 0

array_len = 7

value = 7

[ 9 , 18 , 15 , 20 , 0 , 3 , 7 ]

รอบที่ 1

value = 7 // 1.3 => 5

count = 0 , 1

Index  = 5 , 6

[ 9 , 18 , 15 , 20 , 0 , 3 , 7 ]

[ 3 , 18 , 15 , 20 , 0 , 9 , 7 ]

[ 3 , 7 , 15 , 20 , 0 , 9 , 18 ]

รอบที่ 2

value = 5 // 1.3 => 3

count = 0 , 1 , 2 , 3

Index =  3 , 4 , 5 , 6

[ 3 , 7 , 15 , 20 , 0 , 9 , 18 ]

[ 3 , 7 , 15 , 20 , 0 , 9 , 18 ]

[ 3 , 0 , 15 , 20 , 7 , 9 , 18 ]

[ 3 , 0 , 9 , 20 , 7 , 15 , 18 ]

[ 3 , 0 , 9 , 18 , 7 , 15 , 20 ]

รอบที่ 3

value = 3 // 1.3 => 2

count = 0 , 1 , 2 , 3 ,  4

Index = 2 , 3 , 4 , 5 , 6

[ 3 , 0 , 9 , 18 , 7 , 15 , 20 ]

[ 3 , 0 , 9 , 18 , 7 , 15 , 20 ]

[ 3 , 0 , 9 , 18 , 7 , 15 , 20 ]

[ 3 , 0 , 7 , 18 , 9 , 15 , 20 ]

[ 3 , 0 , 7 , 15 , 9 , 18 , 20 ]

[ 3 , 0 , 7 , 15 , 9 , 18 , 20 ]

รอบที่ 4

value = 2 // 1.3 => 1

count = 0 , 1 , 2 , 3 ,  4 , 5

Index = 1 , 2 , 3 , 4 , 5 ,  6

[ 3 , 0 , 7 , 15 , 9 , 18 , 20 ]

[ 0 , 3 , 7 , 15 , 9 , 18 , 20 ]

[ 0 , 3 , 7 , 15 , 9 , 18 , 20 ]

[ 0 , 3 , 7 , 15 , 9 , 18 , 20 ]

[ 0 , 3 , 7 , 9 , 15 , 18 , 20 ]

[ 0 , 3 , 7 , 9 , 15 , 18 , 20 ]

[ 0 , 3 , 7 , 9 , 15 , 18 , 20 ]

ใกล้เคียง

การจัดเรียงอิเล็กตรอนของธาตุ (หน้าข้อมูล) การจัดการความเครียด การจัดสรรคลื่นความถี่วิทยุสมัครเล่น การจัดหมู่หนังสือแบบทศนิยมดิวอี้ การจัดการทาลัสซีเมีย การจัดอันดับของจุฬาลงกรณ์มหาวิทยาลัย การจัดเส้นทางแบบหัวหอม การจัดอันดับของมหาวิทยาลัยเกษตรศาสตร์ การจัดอันดับของมหาวิทยาลัยมหิดล การจัดระดับความเหมาะสมของรายการโทรทัศน์ไทย