ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

JAVA编程-----------30、有一个已经排好序的数组。先输入一个数,要求按原来的规律将它插入到数组中

2020-03-17 10:04:13  阅读:188  来源: 互联网

标签:arr JAVA int 30 System 排好序 插入 数组


 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有