การจัดเรียงแบบแทรก (insertion sort)

การจัดเรียงข้อมูลมีหลายวิธี เช่น การจัดเรียงแบบเลือก (selection sort) การจัดเรียงแบบแทรก (insertion sort) การจัดเรียงแบบผสาน (merge sort) การจัดเรียงแบบ bubble sort การจัดเรียงแบบ quick sort เป็นต้น ซึ่งแต่ละวิธีก็จะมีขั้นตอนวิธีและประสิทธิภาพในการทำงานแตกต่างกัน

การจัดเรียงแบบแทรก (insertion sort) เป็นการนำข้อมูลจากรายการ ไปจัดเรียงทีละตัวตามลำดับ โดยการนำไปแทรกในรายการตามที่กำหนดในเงื่อนไข

ตัวอย่างที่ 1 การจัดเรียงแบบแทรก

จงแสดงขั้นตอนการเรียงลำดับข้อมูลจากน้อยไปหามาก โดยวิธีการจัดเรียงแบบแทรก
กำหนดให้ L = {30, 24, 25, 32, 45, 39, 40, 27}

รอบที่LS
1L = {30, 24, 25, 32, 45, 39, 40, 27}S = {30}
2L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 30}
3L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 25, 30}
4L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 25, 30, 32}
5L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 25, 30, 32, 45}
6L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 25, 30, 32, 39, 45}
7L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 25, 30, 32, 39, 40, 45}
8L = {30, 24, 25, 32, 45, 39, 40, 27}S = {24, 25, 27, 30, 32, 39, 40, 45}

ถาม – ตอบ
ข้อ 1 การทำงานมีทั้งหมดกี่รอบ
ข้อ 2 รอบที่ 3 ข้อมูลที่ได้มีอะไรบ้าง
ข้อ 3 รอบที่ 5 ข้อมูลที่เหลือมีอะไรบ้าง
ข้อ 4 รอบที่ 6 ข้อมูลที่ได้มีอะไรบ้าง
ข้อ 5 รอบที่ 7 ข้อมูลที่เหลือมีอะไรบ้าง

ตัวอย่างที่ 2 การจัดเรียงแบบแทรก

จงแสดงขั้นตอนการเรียงลำดับข้อมูลจากมากไปหาน้อย โดยวิธีการจัดเรียงแบบแทรก
กำหนดให้ L = {30, 24, 25, 32, 45, 39, 40, 27}

S = {30}รอบที่LS
1L = {30, 24, 25, 32, 45, 39, 40, 27}S = {30}
2L = {30, 24, 25, 32, 45, 39, 40, 27}S = {30, 24}
3L = {30, 24, 25, 32, 45, 39, 40, 27}S = {30, 25, 24}
4L = {30, 24, 25, 32, 45, 39, 40, 27}S = {32, 30, 25, 24}
5L = {30, 24, 25, 32, 45, 39, 40, 27}S = {45, 32, 30, 25, 24}
6L = {30, 24, 25, 32, 45, 39, 40, 27}S = {45, 39, 32, 30, 25, 24}
7L = {30, 24, 25, 32, 45, 39, 40, 27}S = {45, 40, 39, 32, 30, 25, 24}
8L = {30, 24, 25, 32, 45, 39, 40, 27}S = {45, 40, 39, 32, 30, 27, 25, 24}

ถาม – ตอบ
ข้อ 1 การทำงานมีทั้งหมดกี่รอบ
ข้อ 2 รอบที่ 3 ข้อมูลที่ได้มีอะไรบ้าง
ข้อ 3 รอบที่ 5 ข้อมูลที่เหลือมีอะไรบ้าง
ข้อ 4 รอบที่ 6 ข้อมูลที่ได้มีอะไรบ้าง
ข้อ 5 รอบที่ 7 ข้อมูลที่เหลือมีอะไรบ้าง

จากตัวอย่างทั้ง 2 แบบจะเห็นได้ว่า รายการข้อมูลชุดเดียวกัน แต่ใช้วิธีการจัดเรียงแตกต่างกัน ทำงานแตกต่างกัน แต่ผลลัพธ์ที่ได้เหมือนกัน