第一部分 模仿队列的类
package com.baidu.sep3;
import java.util.Iterator;
import java.util.LinkedList;
public class DuiLie
{
public DuiLie()
{
llist = new LinkedList ();
}
// 队列的添加元素方法
public void add(Object obj)
{
llist.addLast(obj);
}
// 队列的移除元素方法
public Object get()
{
return llist.removeFirst();
}
// 返回队列元素是否为空
public boolean isNull()
{
return llist.isEmpty();
}
// 返回迭代器
public Iterator iterator()
{
return llist.iterator();
}
private LinkedList llist;
}
第二部分 模仿堆栈功能的类
package com.baidu.sep3;
import java.util.Iterator;
import java.util.LinkedList;
public class DuiZhan
{
// 1、堆栈: 先进后出
public DuiZhan()
{
llist = new LinkedList();
}
// 队列的添加元素方法
public void add(Object obj)
{
llist.addFirst(obj);
}
// 队列的移除元素方法
public Object get()
{
return llist.removeFirst();
}
// 返回队列元素是否为空
public boolean isNull()
{
return llist.isEmpty();
}
// 返回迭代器
public Iterator iterator()
{
return llist.iterator();
}
private LinkedList llist;
}
第三部分 使用以验证正确性
package com.baidu.sep3;
import java.util.Iterator;
public class LinkedListDemo2
{
public static void main(String [] args)
{
// 原理:
// 1、堆栈: 先进后出
// 2、队列: 先进先出
DuiZhanTest();
DuiLieTest();
}
private static void DuiLieTest()
{
DuiLie duil = new DuiLie();
duil.add("1");
duil.add("2");
duil.add("3");
duil.add("4");
System.out.println("\r\n进队列的顺序:");
for(Iterator ir = duil.iterator();ir.hasNext();)
System.out.print(ir.next()+" ");
System.out.println("\r\n"+"退出队列的顺序:");
while(!duil.isNull())
System.out.print(duil.get()+" ");
}
private static void DuiZhanTest()
{
DuiZhan duiz = new DuiZhan();
duiz.add("a");
duiz.add("b");
duiz.add("c");
duiz.add("d");
System.out.println("进堆栈的顺序:");
for(Iterator ir = duiz.iterator();ir.hasNext();)
System.out.print(ir.next()+" ");
System.out.println("\r\n"+"退堆栈的顺序:");
while(!duiz.isNull())
System.out.print(duiz.get()+" ");
}
}
本人博客地址:http://blog.sina.com.cn/u/2533882563
欢迎 访问 留言 评论 相互学习
————————————————
版权声明:本文为CSDN博主「明明如月学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/w605283073/article/details/46572577