Eclipse下:
直接看代码:
package Queue;
class Queueing {
private Integer size;
Node pFront;
Node pRear;
class Node{
public Integer data;
Node pNext;
@Override
public String toString() {
return "Node [data=" + data + "]";
}
}
//构造方法
public Queueing() {
}
//初始化
public void QueueInit(Queueing queue) {
queue.pFront = queue.pRear = null;
queue.size = 0;
}
//判断队列是否为空
public boolean isEmptyQueue(Queueing queue) {
return queue.size == 0 ? true:false;
//true表示为空,false表示不为空
}
//入队列
public void Queueadd(Queueing queue,int data) {
Node last = pRear;
Queueing.Node pNode = new Queueing.Node();
pNode.data = data;
pRear = pNode;
if(last == null) {
pFront = pNode;
}
else {
last.pNext = pNode;
}
size++;
}
//出队列--------------------------------------------------------------
public void Queuepoll(Queueing queue) {
if(isEmptyQueue(queue)) {
System.out.println("空队列! 无法出队列!\n");
return;
}
queue.pFront = queue.pFront.pNext;
size--;
}
//-------------------------------------------------------------------
//返回队首元素
public int FirstNode(Queueing queue) {
Node node = queue.pFront;
if(node == null) {
System.out.println("空队列!\n");
return -1;
}
int i = node.data;
return i;
}
//返回队列大小
public int QueueSize(Queueing queue) {
return queue.size;
}
//打印队列中的元素
public void printing(Queueing queue) {
Node pNode = queue.pFront;
for(int i=0;i<queue.size;i++) {
System.out.println(pNode);
pNode = pNode.pNext;
}
}
}
public class Main {
public static void main(String[] args) {
Queueing queue = new Queueing();
queue.QueueInit(queue);
queue.Queueadd(queue, 1);
queue.Queueadd(queue, 2);
queue.Queueadd(queue, 3);
queue.Queueadd(queue, 4);
queue.Queueadd(queue, 5);
queue.Queuepoll(queue);
System.out.println("队列元素个数为:"+queue.QueueSize(queue));
System.out.println("队列首元素为:"+queue.FirstNode(queue));
queue.printing(queue);
}
}
运行此代码:
插入若干个数据,删除若干个数据,调用若干方法(如代码所示):