JAVA编程-----------30、有一个已经排好序的数组。先输入一个数,要求按原来的规律将它插入到数组中
作者:互联网
1 package FushiExam; 2 import java.util.*; 3 public class Text_30 { 4 5 public static void main(String[] args) { 6 // 有一个已经排好序的数组。先输入一个数,要求按原来的规律将它插入到数组中 7 Scanner scan=new Scanner(System.in); 8 int[] arr= {1,8,12,17,48,99}; 9 System.out.println("输出数组:"); 10 for(int i=0;i<arr.length;i++) { 11 System.out.print(arr[i]+","); 12 } 13 System.out.println(); 14 System.out.println("输入一个要插入的数:"); 15 int key=scan.nextInt(); 16 Insert(arr,key); 17 18 } 19 public static void Insert(int[] arr,int key) { 20 int[] brr=new int[arr.length+1]; 21 if(key>arr[arr.length-1]) {//如果插入的数比最后一个数还大,则直接插入到最后一个位置的下一个位置 22 brr[arr.length]=key; 23 for(int i=0;i<arr.length;i++) { 24 brr[i]=arr[i]; 25 } 26 } 27 else {//如果是其他位置,则所有比他大的数,都向后移一个 28 for(int i=0;i<arr.length;i++) { 29 if(key<arr[i]) {//如果插入的数,小于arr[i],则arr[i]之后的数, 30 for(int j=0;j<i;j++) { 31 brr[j]=arr[j]; 32 } 33 brr[i]=key;//则把插入的数放在arr[i]位置,后边的数依次往后 34 for(int l=i+1;l<arr.length;l++) { 35 brr[l]=arr[l-1]; 36 } 37 break; 38 } 39 } 40 } 41 System.out.println("插入后的数组:"); 42 for(int i=0;i<arr.length;i++) { 43 System.out.print(brr[i]+","); 44 } 45 } 46 47 }
标签:arr,JAVA,int,30,System,排好序,插入,数组 来源: https://www.cnblogs.com/fmust/p/12508775.html