歸併排序演算法的JAVA實現

2021-06-15 01:19:38 字數 1208 閱讀 6970

package utils.sort;

/**

*歸併排序,要求待排序的陣列必須實現comparable介面

*/ public class mergesort implements sortstrategy

bridge = new comparable[obj.length];                //初始化中間陣列

mergesort(obj, 0, obj.length - 1);                       //歸併排序

bridge = null;

} /**

*將下標從left到right的陣列進行歸併排序

*@param obj 要排序的陣列的控制代碼

*@param left 要排序的陣列的第乙個元素下標

*@param right 要排序的陣列的最後乙個元素的下標

*/ private void mergesort(comparable obj, int left, int right)

} /**

*將兩個物件陣列進行歸併,並使歸併後為公升序。歸併前兩個陣列分別有序

*@param obj 物件陣列的控制代碼

*@param left 左陣列的第乙個元素的下標

*@param center 左陣列的最後乙個元素的下標

*@param right 右陣列的最後乙個元素的下標

*/ private void merge(comparable obj, int left, int center, int right)

else

bridge[third++] = obj[mid++];

} //剩餘部分依次置入中間陣列

while (mid <= right)

while (left <= center)

//將中間陣列的內容拷貝回原陣列

copy(obj, tmp, right);

} /**

*將中間陣列bridge中的內容拷貝到原陣列中

*@param obj 原陣列的控制代碼

*@param left 要拷貝的第乙個元素的下標

*@param right 要拷貝的最後乙個元素的下標

*/ private void copy(comparable obj, int left, int right)

} }

歸併排序演算法(Java實現)

求解 遞迴地對兩個子區間a low mid 和 a mid 1 high 進行歸併排序。遞迴的終結條件是子區間長度為1。合併 將已排序的兩個子區間a low mid 和 a mid 1 high 歸併為乙個有序的區間a low high comment 歸併排序演算法 author ron date...

排序演算法 歸併排序 java實現

歸併排序指的是將兩個已經排序的序列合併成乙個序列的操作。主要分為兩種,分別是自頂向下的排序方式和自底向上的排序方式。對於自頂向下的排序演算法 採用分治法進行自頂向下的程式設計方式,分治法的核心思想就是分解 求解 合併。1 將長度為n的無序序列平均分割成兩個子串行 2 對這兩個子串行分別進行歸併排序 ...

歸併排序演算法的JAVA實現

package utils.sort 歸併排序,要求待排序的陣列必須實現 comparable 介面 public class mergesort implements sortstrategy bridge new comparable obj.length 初始化中間陣列 mergesort o...