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