java实现:已知有个升序数组,要求插入一个元素后,该数组依然为升序(无反思)

 很多人类可能还是猩猩的时候就会了,我属于进化晚的,但能写出来还是很高兴的,后半部分抄自己之前的冒泡排序,写的很快,两个小的编译错误,感觉良好。


import java.util.Scanner;
public class Homework04{
	
	public static void main(String[]args){
		/*
		已知有个升序数组,要求插入一个元素后,该数组依然为升序
		
		思路:化繁为简,先死后活。
		1.定义数组{10,12,45,90}
		2.先扩容,定义一个容量加一的新数组,老数组拷贝进去
		3.scanner接收新元素进新数组
		4.执行一遍冒泡排序
		5.排序优化(意思一下)
		*/
		Scanner myScanner = new Scanner(System.in);
		int []arr = {10,12,45,90};
		System.out.print("老数组为:");
		for(int i = 0;i < arr.length;i++){//忘了int了,编译后改好了
			System.out.print(arr[i]+"\t");
		
		}
			System.out.println("");
			System.out.print("输入需要插入的元素:");
			int addNum = myScanner.nextInt();
			int []arrnew = new int[arr.length + 1];
		 for(int j = 0;j < arr.length;j++){
			 arrnew[j]=arr[j];
		 }
			arrnew[arrnew.length-1] = addNum;
			System.out.print("新数组为:");
			for(int k = 0;k < arrnew.length;k++){
			System.out.print(arrnew[k]+"\t");
			}
			System.out.println("");
			System.out.print("排序后的数组为:");
			
			for (int m = arrnew.length;m>1;m--){
			int temp =0;
			for (int n = 0;n<arrnew.length-1;n++){
				
				if(arr[n]>arrnew[n+1]){
					temp = arrnew[n+1];
					arrnew[n+1]=arrnew[n];
					arrnew[n]=temp;
						}

					}
	
				}
			for(int a=0;a<arrnew.length;a++){

			System.out.print(arrnew[a] + "\t");

			}

	}//忘了个大括号,编译报错后加上了
	
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值