很多人类可能还是猩猩的时候就会了,我属于进化晚的,但能写出来还是很高兴的,后半部分抄自己之前的冒泡排序,写的很快,两个小的编译错误,感觉良好。
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");
}
}//忘了个大括号,编译报错后加上了
}