Java基础50道经典练习题(30)——插入数字
分类:
Java50道练习题
【程序 30 插入数字】
题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的
数,依次后移一个位置。
源程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | package com.homework.test; import java.util.Scanner; /* 【程序 30 插入数字】 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的 数,依次后移一个位置。 */ public class Test30 { public static void main(String [] args){ Scanner scan = new Scanner(System.in); System.out.println( "请输入要插入的数:" ); int m = scan.nextInt(); scan.close(); int [] a = { 1 , 2 , 3 , 5 , 6 , 7 , 8 }; // 4 int [] b = new int [ 8 ]; int len = a.length; int flag = 0 ; //此处只考虑了原数组是升序的,降序同理 if (m > a[ 0 ]){ for ( int i= 0 ; i<len; i++){ if (m < a[i]) { b[i] = m; flag = i; break ; } b[i] = a[i]; } for ( int j=flag+ 1 ; j<len+ 1 ; j++) b[j] = a[j- 1 ]; } if (m >= a[ 6 ]){ b[ 7 ] = m; for ( int i= 0 ; i<len; i++) b[i] = a[i]; } for ( int i= 0 ; i<len+ 1 ; i++){ System.out.print(b[i] + " " ); } System.out.println(); } } |
今日事,今日毕。
posted on 2020-06-06 02:23 lifelicanpeng 阅读(261) 评论(0) 编辑 收藏 举报
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 后端思维之高并发处理方案
· 想让你多爱自己一些的开源计时器
· Cursor预测程序员行业倒计时:CTO应做好50%裁员计划
· 上周热点回顾(3.24-3.30)
· 大模型 Token 究竟是啥:图解大模型Token