`
王浩洋
  • 浏览: 16570 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

队列小结

    博客分类:
  • java
阅读更多
队列总结
1.为什么要使用队列?
  由于数组的长度是固定的,因此对于要再添加数据的情况下,数组就不能使用了,因此要用
队列来实现
2.队列的定义
  1)首先要定义队列接口
示例如下代码:
public interface JavaList<E>{
	//获取队列长度
	public int size();
	//向队列尾部添加元素
	public void add(E e);
	//获取指定下标位置的元素
	public E get(int index);
}

  2)队列的实现
示例如下代码:
public class CustomList<E> implements JavaList<E> {
	/**
	 * 获取队列的长度
	 */
	public int size() {
		return array.length;
	}
	/**
	 * 在队列尾部添加元素
	 */
	public void add(E e) {
		Object []newarray=new Object[array.length+1];
		newarray[array.length]=e;
		System.arraycopy(array, 0, newarray, 0, array.length);
	}	
	public E get(int index) {
		if(index<0||index>array.length-1){
			System.out.println("要返回的结果不存在");
			return null;
		} else {
			E e=(E) array[index];
			return  e;}
	}
	private Object[]array=new Object[0];
}

其中E表示泛型,就是自己定义的所有数据类型都可以,定义成泛型大大扩大的该队列的使用
范围
3.队列的使用
下面举个简单的例子吧
示例代码如下:
/**
 * 图书类
 * @author 王浩洋
 *
 */
public class Book {
	private int price;
	private String name;
	public Book(int price,String name){
		this.price=price;
		this.name=name;
	}
	public float getPrice() {
		return price;
	}
	public void setPrice(int price) {
		this.price = price;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}


/**
 * 管理类
 * @author 王浩洋
 *
 */
public class Manager {
	public static void main(String[] args) {
                  Book b1=new Book(37,"《三国演义》");
		Book b2=new Book(36,"《水浒传》");
		Book b3=new Book(45,"《红楼梦》");
		Book b4=new Book(24,"《西游记》");
JavaList<Book>  jl=new CustomList<Book>();
jl.add(b1);
jl.add(b2);
jl.add(b3);
jl.add(b4);
//遍历输出队列中的数据
for(int i=0;i<ll.size();i++){
		System.out.println(((Book)(jl.get(i)).getPrice());
}
}
}
分享到:
评论

相关推荐

    数据结构与算法分析C描述第三版

     小结   练习   参考文献  第2章 算法分析   2.1 数学基础   2.2 模型   2.3 要分析的问题   2.4 运行时间计算   2.4.1 一个简单的例子   2.4.2 一般法则   2.4.3 最大子序列和问题的解...

    数据结构与算法分析Java语言描述(第二版)

    堆6.6 左式堆6.6.1 左式堆性质6.6.2 左式堆操作6.7 斜堆6.8 二项队列6.8.1 二项队列结构6.8.2 二项队列操作6.8.3 二项队列的实现6.9 标准库中的优先队列小结练习参考文献第7章 排序7.1 预备知识7.2 插入排序7.2.1...

    数据结构与算法分析-Java语言描述(第2版)_2_2

    3.6.3 应用 3.7 队列adt 3.7.1 队列模型 3.7.2 队列的数组实现 3.7.3 队列的应用 小结 练习第4章 树 4.1 预备知识 4.1.1 树的实现 4.1.2 树的遍历及应用 4.2 二叉树 4.2.1 实现 4.2.2 例子...

    数据结构与算法分析-Java语言描述(第2版)_1_2

    3.6.3 应用 3.7 队列adt 3.7.1 队列模型 3.7.2 队列的数组实现 3.7.3 队列的应用 小结 练习第4章 树 4.1 预备知识 4.1.1 树的实现 4.1.2 树的遍历及应用 4.2 二叉树 4.2.1 实现 4.2.2 例子...

    数据结构与算法分析_Java语言描述(第2版)]

    堆6.6 左式堆6.6.1 左式堆性质6.6.2 左式堆操作6.7 斜堆6.8 二项队列6.8.1 二项队列结构6.8.2 二项队列操作6.8.3 二项队列的实现6.9 标准库中的优先队列小结练习参考文献第7章 排序7.1 预备知识7.2 插入排序7.2.1 ...

    数据结构与算法分析 Java语言描述第2版

    堆6.6 左式堆6.6.1 左式堆性质6.6.2 左式堆操作6.7 斜堆6.8 二项队列6.8.1 二项队列结构6.8.2 二项队列操作6.8.3 二项队列的实现6.9 标准库中的优先队列小结练习参考文献第7章 排序7.1 预备知识7.2 插入排序7.2.1 ...

    数据结构与算法分析_Java语言描述(第2版)

    小结 练习 参考文献 第2章 算法分析 2.1 数学基础 2.2 模型 2.3 要分析的问题 2.4 运行时间计算 2.4.1 一个简单的例子 2.4.2 一般法则 2.4.3 最大子序列和问题的求解 2.4.4 运行时间中的对数 2.4.5 检验你的分析 ...

    数据结构与算法分析

     小结   练习   参考文献  第2章 算法分析   2.1 数学基础   2.2 模型   2.3 要分析的问题   2.4 运行时间计算   2.4.1 一个简单的例子   2.4.2 一般法则   2.4.3 最大子序列...

    循环队列的总结

    NULL 博文链接:https://zhangmingwei.iteye.com/blog/1773740

    第3章栈和队列第8讲-小结.pptx

    第3章栈和队列第8讲-小结.pptx

    Python实现队列的方法示例小结【数组,链表】

    主要介绍了Python实现队列的方法,结合实例形式分析了Python基于数组和链表实现队列的相关操作技巧与相关注意事项,需要的朋友可以参考下

    用栈及队列模拟停车场管理的实验报告

    模拟停车场管理的问题:以栈模拟停车场,以队列模拟车场外的便道,按照从终端输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。对每一组...

    基于Java数组实现循环队列的两种方法小结

    下面小编就为大家分享一篇基于Java数组实现循环队列的两种方法小结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    java实现消息队列的两种方式(小结)

    本文主要介绍了两种java实现消息队列的方式,利用Spring消息模板发送消息和Apache ActiveMQ官方实例发送消息,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    C++用两个栈实现一个队列(面试官的小结)

    通过对面试者的表现和反应,有一些统计和感受,在此做个小结。 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。 class ...

    第3章-栈和队列1

    第3章 栈和队列第3章 栈和队列3.1 栈3 2 栈应用举例3.2 栈应用举例3.3 栈与递归函数3.4 队列3.5 队列应用举例3 6 小结3.6 小结栈3.

    Java阻塞队列四组API介绍(小结)

    主要介绍了Java阻塞队列四组API介绍,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Global site tag (gtag.js) - Google Analytics