//【程序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)+" "); } } }
涂鸦心得:
停了一个月了,虽然最近也写一些程序,但毕竟编的少了,这个程序算是学着例子编的一个东西,编程还是要进行,涂鸦还要继续啊。。。