队列的特点是先进先出,以下是队列的顺序实现,用数组完成。
//本例采用的是循环队列。
//front指示下一个出队列的元素位置
//front+size指示下一个入队列的元素位置
//因为采用循环队列,出去队列留出来的位置可作为以后入队列的元素存放的位置
//解决这种问题的方式可用%来实现
//用(front+1)%data.length;(front+size)%data.length分别来实现
//循环的问题
public class ArrayQueue<E> {
private E[] data=(E[]) new Object[10];
private int front=0;//出队列的位置
private int size=0;//加入的元素的个数
//入队列操作
public void add(E target){
//如果数组到极限,创建新数组,并拷贝原来元素到新数组中
if(size==data.length){
E[] tempdata=(E[])new Object[data.length+5];
//采用的是循环队列
for(int i=0;i<data.length;i++){
tempdata[i]=data[(front+i)%data.length];
}
data=tempdata;
front=0;
}
data[(front+size)%data.length]=target;
size++;
}
//判断是否为空
public boolean isEmpty(){
return size==0;
}
//出队列操作
public E remove(){
if(isEmpty()){
return null;
}else{
E temp=data[front];
front=(front+1)%data.length;
size--;
return temp;
}
}
}
分享到:
相关推荐
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队...
这是顺序队列的简单实现,含有如下功能: 1.创建队列; 2.销毁队列; 3.清空队列; 4.进队列; 5.出队列; 6.获取队头元素; 7.获取队列的长度。
java队列实现(顺序队列、链式队列、循环队列)
使用顺序存储的方式实现队列,提供队列的常见操作。
顺序队列和链式队列的实现
队列的顺序存储结构及实现 队列的顺序存储结构及实现
队列的顺序存储与实现。采用顺序存储的方式实现队列,并实现了一些基本功能,包括创建、销毁、清空、追加、读取等一些常规的操作。
这是一个java队列实现的全部工程文件,包含了所有代码,具体的设计文档在上传的另外文件中。这个工程能够实现所有队列的操作,运行没有问题。设计的是在应用程序上的基于界面的队列操作的实现。
中国大学MOOC上浙大的《数据结构》课程队列顺序存储&链式存储实现的代码。包括队列创建、入队、出队。
队列的顺序存储结构及实现操作,可以AC的~
java语言实现的数据结构顺序队列,部分代码:public class OrderQueue { int rear=-1; int front=0; String[]queue; public OrderQueue(int initcap)throws Exception{ if(initcap){ throw new Exception(...
循环顺序队列的实现,包含了各种基本操作,另外附有菜单功能,方便运行,不过好像只能运行整形变量
实现顺序栈或循环队列的存储 概要设计 1、定义循环队列的结构 2、返回循环队列的长度 3、访问循环队列元素 4、取循环队列的队头元素 5、在循环队列的队尾插入元素 6、删除循环队列的队头元素 7、清空循环队列...
循环顺序队列的表示和实现,包括队列的初始化、添加删除元素等操作。
c语言实现的链式队列、顺序队列还有循环队列的建立。代码完整可以直接运行的。
C语言实现的顺序队列
实验一 顺序表、顺序队列和顺序栈的算法实现
顺序队列实现源码,分别用C、C++、JAVA实现。
下面小编就为大家分享一篇java队列实现方法(顺序队列,链式队列,循环队列),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用顺序表实现的队列 包含实现与测试 对应于数据机构与算法分析(c++版)第三版或第二版 Clifford A.Shaffer 重庆大学使用教材