队列的定义及运用

队列简称队,是限制在表的一端进行插入操作,而在表的另一端进行删除操作的线性表。把允许插入数据的一端称为队尾,而把允许删除的一端称为队首或队头。向队列中插入新元素称为进队或入队,新元素进队后就成为新的队尾元素;从队列中删除元素称为出队或离队,元素离队后,其后继元素成为新的队首元素。由于队列的插入和删除各在一端进行,所以每个元素出对的顺序必然就是进队的顺序。
在进行队列的运用时,我们先进行队列的接口定义:
public interface NetJavaList {
	//向队列中加入一个对象
	public void add(Object obj);
	//取得队列中指定位置的对象
	public Object get(int num);
	//得到队列中的长度,
	public int size();
}
接下来我们就编写一个接口的实现类:
public class STList implements NetJavaList {
	//初始化一个数组,长度为0
	Object[] scrA=new Object[0];
	public void add(Object obj) {
		//新建一个,长度比原来的数组多1
		Object scrB[]=new Object[scrA.length+1];
		//将要放入的对象放入新数组的最后一个位置
		scrB[scrA.length]=obj;
		//把原数组的东西放入新数组中
		for(int i=0;i<scrA.length;i++){
			scrB[i]=scrA[i];
		}
		//数组复制
		scrA=scrB;
	}
	//得到元素的方法
	public Object get(int num) {
		Object obj=scrA[num];
		return obj;
	}
	//得到数组的长度
	public int size() {
		return scrA.length;
	}
}
主函数:
public class Manager {
	public static void main (String args[]){
		//创建队列对象
		NetJavaList net=new STList();
		for(int j=0;j<5;j++){
			String st="name"+j;
			Object obj=st;
			net.add(obj);
		}
		//调用方法
		printObject(net);
	}
	public static void printObject(NetJavaList net){
		System.out.println(net.size()+"位学生信息如下:");
		for(int k=0;k<net.size();k++){
			//把得到的元素放到obj中
			Object obj=net.get(k);
			System.out.println(obj);
		}
	}
}

你可能感兴趣的:(队列)