public class LinkedQueue<T>{
//自定义链队列--采用非静态内部类来表示链队列的数据节点
private class Node{
//表示链队列的数据节点
private T data;
//指向下一个节点的引用
private Node next;
@SuppressWarnings("unused")
public Node(){
}
public Node(T data,Node next){
this.data=data;
this.next=next;
}
}
//定义链队列的对首和对尾的引用
private Node front;
private Node rear;
//定义链栈的大小
private int size;
//创建一个空的链对列
public LinkedQueue(){
front=null;
rear=null;
}
//以确定的元素来创建一个链对列,只有一个节点的
public LinkedQueue(T element){
front=new Node(element,null);
//指向同一个元素
rear=front;
size++;
}
//返回链队列的大小
public int length(){
return size;
}
//返回链队列得对首的元素,不删除对首的元素
public T elementFront(){
if(!empty()){
return front.data;
}else{
return null;
}
}
//访问队列的最后一个元素
public T elementRear(){
if(!empty()){
return rear.data;
}else{
return null;
}
}
//返回当前的链对队列是否为空
public boolean empty(){
return size==0;
}
//清空一个链队列
public void clear(){
front=null;
rear=null;
size=0;
}
//插入链队列一个节点--对尾
public void add(T element){
//如果链对列为空,就新建一个节点
if(front==null){
rear=new Node(element,null);
front=rear;
}else{
//动态创建新节点
Node newRear=new Node(element,null);
rear.next=newRear;
rear=newRear;
}
size++;
}
//删除链队列一个节点,返回删除后的节点
public T remove(){
Node oldFront=front;
front=front.next;
oldFront.next=null;
size--;
return oldFront.data;
}
//返回队列
public String toString(){
//如果链队列为空链队列是
if(empty()){
return "[]";
}else{
StringBuilder sBuilder=new StringBuilder("[");
for(Node current=front;current!=null;current=current.next){
sBuilder.append(current.data.toString()+",");
}
int len=sBuilder.length();
return sBuilder.delete(len-1, len).append("]").toString();
}
}
public static void main(String[] args) {
LinkedQueue<String> lQueue=new LinkedQueue<String>();
lQueue.add("aaa");
lQueue.add("bbb");
lQueue.add("ccc");
lQueue.add("ddd");
System.out.println("返回队列的头结点的数值:"+lQueue.elementFront());
System.out.println("返回队列的尾节点的数值:"+lQueue.elementRear());
System.out.println(lQueue.length());
System.out.println(lQueue);
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有