java 数组的应用(一维)

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

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];//创建数组a
		int b[]=new int[11000];//创建数组b
		while(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个到b
				System.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);//输出num
				System.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里边排序后插入的位置):




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值