java 合并各程序_Java迭代合并排序程序

本文提供了一个使用Java实现的迭代合并排序算法示例。该算法将数组分为两部分,分别进行排序后再合并。通过一个名为Demo的类展示了如何对数组进行排序,并在控制台输出排序后的结果。

下面是用于迭代合并排序的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函数中,定义了数组,并对该数组元素调用函数。输出显示在控制台上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值