1. แนวคิดอัลกอริทึม
แต่ละครั้งที่องค์ประกอบแรกถูกนำออกจากรายการที่ไม่เรียงลำดับและแทรกลงในตำแหน่งที่เหมาะสมของรายการที่เรียงลำดับ เพื่อให้รายการที่เรียงลำดับยังคงเรียงลำดับอยู่
2. การคิดอัลกอริทึม
สมมติว่าระเบียนที่จะเรียงลำดับถูกจัดเก็บไว้ในอาร์เรย์ R[1..n] เริ่มแรก R[1] สร้างพื้นที่สั่ง และพื้นที่ไม่เรียงลำดับคือ R[2..n] ตั้งแต่ i=2 จนถึง i=n R[i] จะถูกแทรกลงในพื้นที่ที่ได้รับคำสั่งปัจจุบัน R[1..i-1] ตามลำดับ ทำให้เกิดพื้นที่ที่ได้รับคำสั่งซึ่งมี n บันทึก
โมฆะสาธารณะ insertSort (อาร์เรย์ int []) { int len = array.length; for (int i = 1; i < len; i++) { for (int j = i; j > 0; j--) { ถ้า ( array[j] < array[j - 1]) { Sort.swap(array, j, j - 1);//Exchange j และ j-1 } else พัง;
แผนภาพการเรียงลำดับการแทรก:
ข้างต้นคือเนื้อหาทั้งหมดที่แชร์กับคุณในบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคนในการทำความเข้าใจอัลกอริธึมการเรียงลำดับการแทรก