数组队列 的简单实现

在介绍数组队列之前我想先介绍一下数组是为何物,数组是数据的一中存储结构,其定义为:

数组类型[] 数组名=new 数组类型[数组长度]

然而数组存储类型有许多不足就是长度一定,不能随机应变。于是我们创造队列以弥补这一缺陷。可以说队列是更加完美的数组。其实现方法如下:

 

package Sameple0419简单的队列;
/**
 * 新建一个学生类
 * @author Administrator
 *
 */
public class Student {
	private String name;
	private int score;
	public Student(String name ,int score){
		this.name=name;
		this.score=score;
	}
	public void show(){
		System.out.println("姓名"+name+"学分"+score);
	}

}

 定义队列可以自动添加的方法

public class sameple0401 implements NetJavaList{
/**
 * 向队列中加入一个学生对象
 * @author student
 */
	private Student[] scr=new Student[0];
	public void add(Student stu){
		//新建一个数组
		Student[] desk=new Student[scr.length+1];
		//将要加入的元素加在新数组的最后一个位置
		desk[scr.length]=stu;
		//用for循环把原来数组里的对象copy到新数组里
		for(int i=0;i<scr.length;i++){
			desk[i]=scr[i];
		}
		scr=desk;
		
	}
	/**
	 * 取得队列中指定位置的一个对象
	 * @param index
	 * @return 一个学生对象
	 */
	public Student get(int index){
		Student st=scr[index];
		return st;
	}
	/**
	 * 得到数列的长度,即数列中元素的个数
	 * @return 数组中元素的个数
	 */
	public int size(){
		return scr.length;
	}
	
	

}

 测试:

public class test {
	

	/**
	 * 程序入口
	 * @param args
	 */
	public static void main(String[] args) {
		//创建一个数列对象
	 NetJavaList njl=new sameple0401();
	 for(int i=0;i<5;i++){
		 //实例化Student类
		 Student st=new  Student("name"+i,i+10);
		 //加入队列
		 njl.add(st);
	 }
	 //打印队列
	 printStudent(njl);
		
	}
	/*打印出队列中每个学生的信息*/
	
	public static void printStudent(NetJavaList sl){
		System.out.println(sl.size()+"个学生的信息如下:");
	for(int i=0;i<sl.size();i++){
		Student st=sl.get(i);
		st.show();
	}
	}

}

 程序输出结果:5个学生的信息如下:

小结:本博客用数组实现其队列的添加方法。其插入、删除方法与此类似在此不作赘述。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值