下面是用于迭代合并排序的Java程序
示例import java.util.Arrays;
public class Demo{
public static void merge_sort(int[] my_arr){
if(my_arr == null){
return;
}
if(my_arr.length > 1){
int mid = my_arr.length / 2;
int[] left = new int[mid];
for(int i = 0; i
left[i] = my_arr[i];
}
int[] right = new int[my_arr.length - mid];
for(int i = mid; i
right[i - mid] = my_arr[i];
}
merge_sort(left);
merge_sort(right);
int i = 0;
int j = 0;
int k = 0;
while(i
if(left[i]
my_arr[k] = left[i];
i++;
} else {
my_arr[k] = right[j];
j++;
}
k++;
}
while(i
my_arr[k] = left[i];
i++;
k++;
}
while(j
my_arr[k] = right[j];
j++;
k++;
}
}
}
public static void main(String[] args){
int my_arr[] = {56, 78, 91, 21, 34, 0, 11};
int i=0;
merge_sort(my_arr);
System.out.println("排序后的数组为 ");
for(i=0; i
System.out.print(my_arr[i]+" ");
}
}
输出结果排序后的数组为
0 11 21 34 56 78 91
一个名为Demo的类包含合并排序(merge_sort)函数,它检查数组是否为空,如果为空,则不返回任何内容。如果数组的长度大于1,则计算mid的值,并迭代数组直到mid值。基本上,数组被分成相等的两个部分,数组左边的元素被放入一个新数组,数组右边的元素被放入一个不同的数组。现在,这些数组被分离并排序。然后它们合并在一起。
在main函数中,定义了数组,并对该数组元素调用函数。输出显示在控制台上。
本文提供了一个使用Java实现的迭代合并排序算法示例。该算法将数组分为两部分,分别进行排序后再合并。通过一个名为Demo的类展示了如何对数组进行排序,并在控制台输出排序后的结果。
809

被折叠的 条评论
为什么被折叠?



