การจัดเรียงข้อมูลมีหลายวิธี เช่น การจัดเรียงแบบเลือก (selection sort) การจัดเรียงแบบแทรก (insertion sort) การจัดเรียงแบบผสาน (merge sort) การจัดเรียงแบบ bubble sort การจัดเรียงแบบ quick sort เป็นต้น ซึ่งแต่ละวิธีก็จะมีขั้นตอนวิธีและประสิทธิภาพในการทำงานแตกต่างกัน
การจัดเรียงแบบแทรก (insertion sort) เป็นการนำข้อมูลจากรายการ ไปจัดเรียงทีละตัวตามลำดับ โดยการนำไปแทรกในรายการตามที่กำหนดในเงื่อนไข
ตัวอย่างที่ 1 การจัดเรียงแบบแทรก
จงแสดงขั้นตอนการเรียงลำดับข้อมูลจากน้อยไปหามาก โดยวิธีการจัดเรียงแบบแทรก
กำหนดให้ L = {30, 24, 25, 32, 45, 39, 40, 27}
รอบที่ | L | S |
1 | L = { | S = {30} |
2 | L = { | S = {24, 30} |
3 | L = { | S = {24, 25, 30} |
4 | L = { | S = {24, 25, 30, 32} |
5 | L = { | S = {24, 25, 30, 32, 45} |
6 | L = { | S = {24, 25, 30, 32, 39, 45} |
7 | L = { | S = {24, 25, 30, 32, 39, 40, 45} |
8 | L = { | 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}รอบที่ | L | S |
1 | L = { | S = {30} |
2 | L = { | S = {30, 24} |
3 | L = { | S = {30, 25, 24} |
4 | L = { | S = {32, 30, 25, 24} |
5 | L = { | S = {45, 32, 30, 25, 24} |
6 | L = { | S = {45, 39, 32, 30, 25, 24} |
7 | L = { | S = {45, 40, 39, 32, 30, 25, 24} |
8 | L = { | S = {45, 40, 39, 32, 30, 27, 25, 24} |
ถาม – ตอบ
ข้อ 1 การทำงานมีทั้งหมดกี่รอบ
ข้อ 2 รอบที่ 3 ข้อมูลที่ได้มีอะไรบ้าง
ข้อ 3 รอบที่ 5 ข้อมูลที่เหลือมีอะไรบ้าง
ข้อ 4 รอบที่ 6 ข้อมูลที่ได้มีอะไรบ้าง
ข้อ 5 รอบที่ 7 ข้อมูลที่เหลือมีอะไรบ้าง
จากตัวอย่างทั้ง 2 แบบจะเห็นได้ว่า รายการข้อมูลชุดเดียวกัน แต่ใช้วิธีการจัดเรียงแตกต่างกัน ทำงานแตกต่างกัน แต่ผลลัพธ์ที่ได้เหมือนกัน