数据结构---数组的基本操作

一、面向过程的数组应用

public class ArrayApp {

	public static void main(String[] args) {
		long [] arry;//声明数组
		
		arry=new long[100];//创建数组
		
		int element=0;//元素个数
		
		int j;
		
		long searchkey;//查找的数字
		arry[0]=11;
		arry[1]=22;
		arry[2]=33;
		arry[3]=44;
		arry[4]=55;
		arry[5]=66;
		arry[6]=77;
		arry[7]=88;
		arry[8]=99;
		arry[9]=00;
		
		element=10;
		//显示所有元素
		for (j = 0;  j< element; j++) 
			System.out.print(arry[j]+" ");
		System.out.println();
		
		//查找66
		
		searchkey=66;
		for(j=0;j<element;j++)
		if (arry[j]==searchkey)
			break;
		if (j==element)//如果已经循环完了
			System.out.println("没有找到该数据"+searchkey);
		else
			System.out.println("找到该数据"+searchkey);
		
		//删除数据55
		
		searchkey=55;
		for(j=0;j<element;j++)
		if(arry[j]==searchkey)
			break;
		for(int k=j;k<element;k++)
			arry[k]=arry[k+1];
		
		element--;//元素减1
		
		//再显示一下
		for(j=0;j<element;j++)
			System.out.print(arry[j]+" ");
		System.out.println();
		}
		
	}

二、面向对象的简单数组实例

类LowArray

public class LowArray {

	private long[] a;//存储数据的数组
	
	public LowArray(int size)
	{
		a=new long[size];
	}
	
	public void setElem(int index,long value)
	{
		a[index]=value;
	}
	public long getelem(int index)
	{
		return a[index];
	}
	
	
}

类LowArrayApp

public class LowArrayApp {

	public static void main(String[] args) {
		LowArray array;
		array=new LowArray(100);
		
		int element=0;
		int j;
		long serachkey;
		array.setElem(0, 11);
		array.setElem(1, 22);
		array.setElem(2, 33);
		array.setElem(3, 44);
		array.setElem(4, 55);
		array.setElem(5, 66);
		array.setElem(6, 77);
		array.setElem(7, 88);
		array.setElem(8, 99);
		array.setElem(9, 0);
		
		element=10;
		//显示数据
		for(j=0;j<element;j++)
			System.out.print(array.getelem(j)+" ");
		System.out.println();
		
		//查找数据
		
		serachkey=22;
		for(j=0;j<element;j++)
		if(array.getelem(j)==serachkey)
			break;
		if(j==element)
			System.out.println("没有找到数据"+serachkey);
		else
			System.out.println("找到该数据"+serachkey);
		
		//删除数据66
		
		serachkey=66;
		for(j=0;j<element;j++)
		if(array.getelem(j)==serachkey)
			break;
		for(int k=j;k<element;k++)
			array.setElem(k, array.getelem(k+1));
		element--;
		
		//显示数据
		
		for(j=0;j<element;j++)
			System.out.print(array.getelem(j)+" ");
		System.out.println();
	}
}

三、面向对象的高级数组实例

类HighArray

public class HighArray {

	private long [] a;
	private int element;
	public HighArray(int max){
		a=new long[max];
		element=0;
	}
	
	//查找指定放入项
	public boolean find(long serachkey)
	{
		int j;
		for(j=0;j<element;j++)
		if (a[j]==serachkey)
			break;
		if (j==element) //上面的for循环完成后再去判断
			return false;//没找到	
		else 
			return true;
		
	}
	//插入数据
	public void insert(long value)
	{
		a[element]=value;
		element++;
	}
	
	//删除数据
	public boolean delete(long value)
	{
		int j;
		for(j=0;j<element;j++)
			if(a[j]==value)
				break;
		if(j==element)//没找到
			return false;
		else{//找到后
			for(int k=j;k<element;k++)
				a[k]=a[k+1];//挪动位置,就是后面的数据往前挪
			element--;//元素个数减1
			return true;
		}
	}
	//查看所有
	public void dispay()
	{
		int j;
		for(j=0;j<element;j++)
			System.out.print(a[j]+" ");
		System.out.println();
	}
	
}

类HighArrayApp

public class HighArrayApp {

	public static void main(String[] args) {
		int maxsize=100;
		HighArray array;
		array=new HighArray(maxsize);
		array.insert(11);
		array.insert(22);
		array.insert(33);
		array.insert(44);
		array.insert(55);
		array.insert(66);
		array.insert(77);
		array.insert(88);
		array.insert(99);
		array.insert(0);
		
		array.dispay();
		
		int searchkey=44;
		if (array.find(searchkey)) {
			System.out.println("找到了"+searchkey);
		}else{
			System.out.println("没有找到"+searchkey);
		}
		
		array.delete(77);
		array.delete(22);
		
		array.dispay();
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值