用于合并排序的Java程序
合并排序是一种分而治之的算法。它将输入数组分成两半,为两半调用自身,然后合并两半。 merge()函数用于合并两半。 merge(arr, l, m, r) 是关键过程,假设 arr[l..m] 和 arr[m+1..r] 已排序并将两个排序的子数组合并为一个。
Java
/* Java program for Merge Sort */
class MergeSort
{
// Merges two subarrays of arr[].
// First subarray is arr[l..m]
// Second subarray is arr[m+1..r]
void merge(int arr[], int l, int m, int r)
{
// Find sizes of two subarrays to be merged
int n1 = m - l + 1;
int n2 = r - m;
/* Create temp arrays */
int L[] = new int [n1];
int R[] = new int [n2];
/*Copy data to temp arrays*/
for (int i=0; i
请参阅有关合并排序的完整文章以获取更多详细信息!