//【程序30】 题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
//解答:
//List类可以使用Collections.sort(List a)进行排序,
//可以利用add(int x,long m)进行插入,相当简便,实现多个数据的插入可以仿照下面的程序写出。
//具体程序如下:(关于类和方法不懂的可以查看JDK工具)
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class _30_insertnumber { public static void main(String[] args)
throws Exception{ System.out.println("输入待处理的数组"
); InputStreamReader isr=
new InputStreamReader(System.in); BufferedReader br=
new BufferedReader(isr); Scanner scan =
new Scanner(br.readLine()); ArrayList<Long> p =
new ArrayList<Long>
(); //这种可变数组是不同步的,在多线程操作中需要程序员进行同步 for (
int i = 0 ; scan.hasNext() ; i++
){ p.add(scan.nextLong()); } Collections.sort(p); //按数组原有的自然顺序排序 System.out.println("排序后的数组"
); for (
int i = 0 ; i < p.size() ; i++
){ System.out.print(p.get(i)+" "
); } System.out.println(""
); System.out.println("输入一个要插入的数据"
); Long m =
new Long(br.readLine()); int flag = 0
; for (
int i = 0 ; i < p.size() ; i++
){ if( m >
p.get(i)){ flag = 1
; continue;} p.add(i,m); break; } if(flag == 1
) p.add(m); System.out.println("最终排序后的数组"
); for (
int i = 0 ; i < p.size() ; i++
){ System.out.print(p.get(i)+" "
); } } }
涂鸦心得:
停了一个月了,虽然最近也写一些程序,但毕竟编的少了,这个程序算是学着例子编的一个东西,编程还是要进行,涂鸦还要继续啊。。。
转载于:https://www.cnblogs.com/aniuer/archive/2012/10/09/2717479.html