30 【程序 30 插入数字】

题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数, 依次后移一个位置。

package cskaoyan;

public class cskaoyan30 {
@org.junit.Test
public void insertNumber() {
java.util.Scanner in = new java.util.Scanner(System.in);
int[] arr = { 1, 4, 6, 9, 13, 16, 19, 28, 40, 0 }; System.out.print("原始列表:");
show(arr); System.out.print("插入一个数字:");
int number = in.nextInt();
insert(arr, number); System.out.print("排序后列表:");
show(arr); in.close();
} private void insert(int[] arr, int number) {
if (number > arr[arr.length - 1 - 1]) {
arr[arr.length - 1] = number;
} else {
int temp1 = 0;
int temp2 = 0; for (int i = 0; i < arr.length - 1; i++) {
if (arr[i] > number) {
temp1 = arr[i];
arr[i] = number; for (int j = i + 1; j < arr.length; j++) {
temp2 = arr[j];
arr[j] = temp1;
temp1 = temp2;
} break;
}
}
}
} private void show(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
} System.out.println();
}
}

最新文章

  1. xml 读取递归算法
  2. js的client详解
  3. 利用ant脚本 自动构建svn增量/全量 系统程序升级包
  4. iOS UIImageView设置为圆形
  5. 用Perl编写Apache模块续二 - SVN动态鉴权实现SVNAuth 禅道版
  6. 跟踪js文件作为iframe页面不起作用时(淘宝天猫)
  7. Android 长按Listview显示CheckBox,实现批量删除。
  8. Android 源码编译错误
  9. Apache启用性能优化——启用Gzip,JS压缩
  10. HDU 1114 Piggy-Bank(完全背包)
  11. 我的TDD实践---SVN架设篇
  12. 转:应用JMeter测试solr请求
  13. Java Web使用Html5 FormData实现多文件上传
  14. 整数中1出现的次数(从1到n的整数中1出现的次数)
  15. D3、openlayers的一次尝试
  16. 最简单获取appPackage和appActivity 的方法
  17. checkbox属性获取
  18. 第一篇:fastadmin的页面是如何生成的?
  19. Codeforces 729E Subordinates
  20. WebServer搭建过程

热门文章

  1. python c++ 混合编程中python调用c++string返回类型的函数,python中返回为数字的解决办法
  2. [Visual Studio] 自定义项目模板(.vsix扩展)
  3. vue1 动态组件
  4. 000_linux之Ubuntu安装
  5. 06_检测本机当前用户是否为超级管理员,如果是管理员,则使用 yum 安装 vsftpd,如果不是,则提示您非管理员(使用子串对比版本)
  6. linux中 systemd相关配置
  7. java集合类-集合框架体系
  8. 一步一步配置AWS ELB Https证书
  9. intel官方的手册
  10. 解决IntelliJ无法导入maven包的问题