คำอธิบายอัลกอริทึม: สำหรับชุดบันทึกที่กำหนดรวมอันดับแรกทุกสองภาคต่อที่อยู่ติดกันของความยาว 1 เพื่อให้ได้ N/2 (ปัดเศษขึ้น) สั่งการเรียงลำดับความยาว 2 หรือ 1 จากนั้นรวมเข้าด้วยกันเป็นคู่และทำซ้ำกระบวนการนี้จนกว่าจะได้ลำดับที่สั่งซื้อ
การเรียงลำดับแพ็คเกจ;/*** การเรียงลำดับ* เฉลี่ย o (nlogn), o ที่ดีที่สุด (nlogn), o ที่เลวร้ายที่สุด (nlogn); ความซับซ้อนของอวกาศ o (n); มั่นคง; คอมเพล็กซ์มากขึ้น * @author Zeng * */คลาสสาธารณะ Mergesort {โมฆะคงที่สาธารณะรวม (int [] a, int เริ่ม, int mid, int สิ้นสุด) {int [] tmp = new int [a.length]; system.out.println ("ผสาน" + เริ่ม + "~" + สิ้นสุด); (a [i] <a [j]) tmp [k ++] = a [i ++]; else tmp [k ++] = a [j ++];} ในขณะที่ (i! = mid+1) tmp [k ++] = a [i ++]; ในขณะที่ (j! = สิ้นสุด+1) tmp [k ++] = a [j ++]; สำหรับ (ฉัน = เริ่ม; "); system.out.println ();} โมฆะแบบคงที่ mergesort (int [] a, int เริ่มต้น, int end) {ถ้า (เริ่มต้น <end) {int mid = (start + end)/ 2; mergesort (a, start, mid); {int [] b = {49, 38, 65, 97, 76, 13, 27, 50}; Mergesort (b, 0, b.length - 1);}}มาดูผลลัพธ์ของการดำเนินการ:
สรุป
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้เกี่ยวกับการใช้งานง่าย ๆ ของการเรียงลำดับการเรียงลำดับของอัลกอริทึมการเรียงลำดับ Java ฉันหวังว่ามันจะเป็นประโยชน์กับทุกคน เพื่อนที่สนใจสามารถอ้างถึงหัวข้ออื่น ๆ ที่เกี่ยวข้องในเว็บไซต์นี้ต่อไป หากมีข้อบกพร่องใด ๆ โปรดฝากข้อความไว้เพื่อชี้ให้เห็น ขอบคุณเพื่อนที่ให้การสนับสนุนเว็บไซต์นี้!