队列-java代码
发布时间:2021-04-02 13:47:51 所属栏目:安全 来源:网络整理
导读:public class QueueDemo { private int maxSize; long[] queueArray; // 队列的头,实际是数组的尾 header; 队列的尾,实际是数组的头 footer; nElems; public QueueDemo( size){ maxSize = size; queueArray = new [maxSize]; header = 0; footer = -1; n
|
public class QueueDemo {
private int maxSize;
long[] queueArray;
// 队列的头,实际是数组的尾
header;
队列的尾,实际是数组的头
footer;
nElems;
public QueueDemo( size){
maxSize = size;
queueArray = new [maxSize];
header = 0;
footer = -1;
nElems = 0;
}
插入队列,从队尾插入
void insert( element){
if(footer == (maxSize - 1)){
footer = -1;
}
queueArray[++footer] = element;
nElems++ 出队列,即取出数组尾
remove(){
long temp = queueArray[header];
queueArray[header] = 0;
if(++header == maxSize){
header = 0;
}
nElems--return temp;
}
取出队列头元素
getHeader(){
queueArray[header];
}
取出队列数组
[] getArray(){
queueArray;
}
}
队列是先进先出,可以想象成火车进隧道 ? 优先级队列: import java.util.Arrays;
/**
* 优先级数组
*
* @author Orlion
* @create 2015-09-12
*/
PriorityQDemo {
[] priorityqArray;
footer;
public PriorityQDemo( size;
priorityqArray = 插入优先级数组
int i = footer;
while(i > 0 && priorityqArray[i] > element){
priorityqArray[i + 1] = priorityqArray[i];
i--;
}
priorityqArray[i+1] = element;
footer++ 出队列
priorityqArray[header];
priorityqArray[header] = 0;
}
打印队列
void getPriorityq(){
System.out.print(Arrays.toString(priorityqArray));
}
}
可以理解成有一定顺序的队列,也是先进先出 (编辑:我爱故事小小网_铜陵站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


浙公网安备 33038102330570号