首页 / JAVA / 数据结构之队列的java实现
数据结构之队列的java实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据结构之队列的java实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1876字,纯文字阅读大概需要3分钟。
内容图文
队列在计算机术语中使用queue,和list(排)其实是一个意思。队列也是一种数据结构,类似于栈,只是与栈相反,在队列中最先插入的数据也最先被移除,即先进先出(FIFO,First In First Out)。队列可以理解成排队,比如,食堂窗口排的队,越在前面的,越早得到服务而先离开。在银行大厅的排号的机器也许就用了队列这个数据结构。在打印的时候,有“添加到队列”的选项,队列应用是很广泛的。队列的操作有:插入到队尾数据项,移除队头数据项,查看数据项等功能。
下面用Java实现队列的基本功能(数组版)。
package cn.zhf.list; public class MyQueue { private int maxSize;//定义最大容量 private int[] qarray;//存放元素的数组 private int front;//前一个元素索引 private int rear;//后一个元素索引 private int nItems;//队列中元素的个数 //构造对象并初始化 public MyQueue(int s){ maxSize = s; qarray = new int[maxSize]; front = 0; rear = -1; nItems = 0; } //在队列尾端插入元素 public void enqueue(int i){ if(rear == maxSize - 1){ rear = -1; } qarray[++rear] = i; nItems++; } //删除队首元素 public int dequeue(){ int temp = qarray[front++]; if(front == maxSize){ front = 0; } nItems--; return temp; } public int peekFront(){//取第一个元素 return qarray[front]; } public boolean isEmpty(){ return (nItems == 0); } public static void main(String[] args) { MyQueue queue = new MyQueue(5); queue.enqueue(1); queue.enqueue(2); queue.enqueue(3); queue.enqueue(4); queue.enqueue(5); while(!queue.isEmpty()){ int i = queue.dequeue(); System.out.println(i); } } }下面是用链表实现的队列。
package cn.zhf.list; //其中的Link和LinkList两类同栈中的相同 public class LinkQueue { private LinkList list; public LinkQueue(){ list = new LinkList(); } public boolean isEmpty(){ return list.isEmpty(); } public void insert(int id,double dd){ list.insertFirst(id, dd); } public Link delete(){ return list.deleteFirst(); } public void display(){ list.displayLink(); } public static void main(String[] args) { LinkQueue lq = new LinkQueue(); lq.insert(12, 20.0); lq.insert(13, 20.1); lq.insert(14, 20.2); lq.display(); System.out.println("-----------"); lq.delete(); lq.display(); } }运行结果:
14,20.2 13,20.1 12,20.0 ----------- 13,20.1 12,20.0
原文:http://blog.csdn.net/laozhaokun/article/details/20525127
内容总结
以上是互联网集市为您收集整理的数据结构之队列的java实现全部内容,希望文章能够帮你解决数据结构之队列的java实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。