java数据结构自定义队列的实现

2022-09-12 12:29:27
packagecom.wck.test83;/**
 * 自定义队列
 * @author kun
 * @date 2021年8月3日
 */publicclassMyqueue{privatestaticclassNode{Object item;Node next;}privateNode first;// 队列中的第一个privateNode last;// 队列中的最后一个privateint size;publicbooleanisEmpty(){return size==0;}publicintgetSize(){return size;}/**
	 * 当前指定的Object添加至当前队列中
	 * @param item
	 */publicvoidenqueue(Object item){Node old= last;// 获取最后一个Node
		last=newNode();// 新建Node,作为最后一个节点
		last.item= item;// 设置最后一个Node的元素(作为最后一个)if(isEmpty()){//	如果为空, 则是第一次入队
			first= last;}else{
		 old.next= last;// 反之设置将最后一个Node设为前一个的下一个Node}
		size++;}// 出队publicObjectdequeue(){if(isEmpty()){returnnull;}Object item= first.item;// 获取第一个元素
		first= first.next;// 第一个元素后面的元素提升为第一if(isEmpty()){// 如果后面没有元素, 则设为null
			last=null;}--size;// 元素数量减1return item;}}

实现类:

packagecom.wck.test83;publicclass quenuImp{publicstaticvoidmain(String[] args){Myqueue queue=newMyqueue();
		
		queue.enqueue(111);
		queue.enqueue(222);
		queue.enqueue("aaa");
		queue.enqueue("bbb");
		queue.enqueue("ccc");
		queue.enqueue("ddd");
		queue.enqueue("eee");int size= queue.getSize();for(int i=0; i< size; i++){System.out.print(queue.dequeue()+"\t");}System.out.println();}}
  • 作者:与秋逐鹿灬
  • 原文链接:https://blog.csdn.net/qq_56745615/article/details/119378379
    更新时间:2022-09-12 12:29:27