java 数组的应用(一维)

来源:互联网 发布:手机如何注销淘宝账号 编辑:程序博客网 时间:2024/06/06 02:31

一位数组的应用,包括数组复制,数组局部复制,数组长度,数组排序,在数组里边查询某个值,在数组里边局部查询某个值:

talk is cheaper,show me the code:

package hdu;import java.util.*;import java.text.*;public class learn {//public static void main(String[] args) {// TODO 自动生成的方法存根public static void main(String[] args) {Scanner cin=new Scanner(System.in);int a[]=new int[11000];//创建数组aint b[]=new int[11000];//创建数组bwhile(cin.hasNext()){String ch[]=new String[]{"\t"};int n=cin.nextInt();//输入测试数据的组数for(int help=0;help<n;help++){int m=cin.nextInt();//输入数组a的长度for(int i=0;i<m;i++){a[i]=cin.nextInt();}int c[]=Arrays.copyOfRange(a,0,m);//数组拷贝Arrays.sort(c,0,m);//对c数组进行快速排序System.out.print("数组c:");for(int i=0;i<m;i++)//输出C数组System.out.print(c[i]+"\t");System.out.println();b=Arrays.copyOfRange(a, 0, m-2);//拷贝数组前m-2个到bSystem.out.print("b数组的长度为:   ");System.out.println(b.length);//输出b的长度System.out.println("a数组       c数组");for(int i=0;i<m;i++)//输出A数组与C数组{System.out.print(a[i]+"\t");System.out.println(c[i]);}int num=Arrays.binarySearch(b, a[0]);//在b数组里边找等于a[0]的数,并返回数组下标int cnt=Arrays.binarySearch(c,0,m-1,5);//在c数组前m-1个数里边找等于5的数,并返回下标System.out.print("a[0]在b数组里边是第");System.out.println(num);//输出numSystem.out.print("5在c数组里边是第");System.out.println(cnt);System.out.println();}}}}
然后测试,输入:

5
7
4 8 5 6 3 2 9

表示5组测试数据,第一组测试数据里边a的长度为7,对数组a进行赋值:

输出得到:

对于查询函数Arrays.binarySearch(c,0,m-1,5),c表示在c数组里边进行查询,查询范围为0到m-1,查询内容为5,如果5不在数组c里边,则返回-1或者-(5可以在数组c里边排序后插入的位置):




1 0