?? ?/*要求 ?? ? * 已知有个升序的数组,要求插入一个元素,依然是一个升序的数组。 ?? ? * 思路分析 ?? ? * 定义一个新的数组arrNum ?? ? * 从键盘输入元素,已知数组arr = {10,12,45,90} ?? ? * 利用数组添加并加上循环比对arr数组元素的大小排序(冒泡排序) ?? ? *? ?? ? */
流程图如下
?除去文字描述
代码如下
package 课堂练习; import java.util.Scanner; public class 练习35 { public static void main(String[] args){ ?? ?/*要求 ?? ? * 已知有个升序的数组,要求插入一个元素,依然是一个升序的数组。 ?? ? * 思路分析 ?? ? * 定义一个新的数组arrNum ?? ? * 从键盘输入元素,已知数组arr = {10,12,45,90} ?? ? * 利用数组添加并加上循环比对arr数组元素的大小排序(冒泡排序) ?? ? *? ?? ? */ ?? ?Scanner myScanner = new Scanner(System.in); ?? ?int[] arr ={10,12,45,90}; ?? ?int[] arrNum =new int[arr.length + 1]; ?? ?System.out.println("原数组为{10,12,45,90};"); ?? ?for(int i = 0; i < arr.length; i++){ ?? ??? ?arrNum[i] = arr[i]; ?? ?} ?? ?System.out.println("请输入要插入的元素:"); ?? ?int number = myScanner.nextInt(); ?? ?arrNum[arrNum.length -1] = number; ?? ?arr = arrNum; ?? ?for(int j = 0; j < arr.length-1; j++){ ?? ??? ?for( int i = 0; i < arr.length-1-j; i++){ ?? ??? ??? ?if(arr[i] > arr[i+1]){ ?? ??? ??? ??? ?int map = arr[i]; ?? ??? ??? ??? ?arr[i] = arr[i+1]; ?? ??? ??? ??? ?arr[i+1] = map; ?? ??? ??? ?} ?? ??? ?} ?? ?} ?? ?System.out.println("=====arr的升序数组如下====="); ?? ?for(int i = 0; i < arr.length; i++){ ?? ??? ?System.out.print(arr[i] + "\t"); ?? ?} ?? ? } } 结果如下
?
|