java基础--数组拼接排序

/** 需求:

  • 实现两个数组组合并排序。
  • 例如:arr1 = {1,10,7,5,100,78}
  • arr2 = {99,54,2,46,28}
  • 将两个数组合并成一个数组,并且排序后输出
  • 思路:
  • 1 定义两个数组,并赋值
  • 2 定义第三个数组,其长度等于前两个数组长度的和
  • 3 将数组1数值赋值给数组3,从0-arr1.length
  • 4 将数组2数值赋值给数组3,从arr1.length-arr3.length
  • 5 遍历数组3,将其输出
  • 6 排序
  • 定义中间变量temp
  • for外循环,遍历数组3,从0开始
  • for内循环,遍历数组3,从1开始
  • 判断,if,如果0<1,则将0给temp;1给0;temp给0;
  • 这一步其实就是如果后一个数比前一个数大,则两个数换位,否则不换
  • 7 循环结束,遍历数组3,将其输出
    */
 ...
public class Test7_3 {
	public static void sort(int[] a){
		int temp;//定义中间变量
		for (int i = 0; i < a.length; i++) {
			for (int j = i+1; j < a.length; j++) {
				if (a[i]<a[j]) {
					temp = a[i];
					a[i] = a[j];
					a[j] = temp;
				}
			}
		}	
	}
	public static void main(String[] args) {
		int []arr1 = {1,10,7,5,100,78};
		int []arr2 = {99,54,2,46,28};
		int []arr3 = new int[arr1.length + arr2.length];//定义数组,长度是arr1和 arr2两个数组长度之和。
		for(int i = 0;i < arr1.length ; i++){
			arr3[i] = arr1[i];//将arr1中的所有数据保存到arr3相应的位置
		}
	//	for(int i = arr1.length; i < arr1.length+arr2.length;i++){
	//		arr3[arr1.length + i] = arr2[i];//将arr2中的数据保存到arr3数组中,注意保存的位置。
	//	}
		for (int i = 0; i < arr2.length; i++) {
			arr3[arr1.length + i] = arr2[i];
		}
		for(int i = 0; i < arr3.length; i++){	//遍历整个数组
			System.out.print(arr3[i]+"\t");//打印数组中的每一个数据
		}
		System.out.println();
	//排序,降序排列
		
		sort(arr3);
		/*int temp;//定义中间变量
		for (int i = 0; i < arr3.length; i++) {
			for (int j = i+1; j < arr3.length; j++) {
				if (arr3[i]<arr3[j]) {
					temp = arr3[i];
					arr3[i] = arr3[j];
					arr3[j] = temp;
				}
			}
		}
		*/
		for(int i = 0; i < arr3.length; i++){	//遍历整个数组
			System.out.print(arr3[i]+"\t");//打印数组中的每一个数据
		}
	}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值