黑马程序员技术交流社区
标题:
LinkedList建立堆栈和队列
[打印本页]
作者:
itheima_llt
时间:
2015-4-13 19:21
标题:
LinkedList建立堆栈和队列
使用LinkedList模拟一个堆栈或者队列数据结构。
堆栈:先进后出
队列:先进先出
思路:
1 建立一个队列类描述队列和堆栈
2 在主函数中测试
import java.util.*;
//队列类
class DuiLie
{
//使用LinkedList建立队列
private LinkedList link;
//构造函数建立一个链表
DuiLie()
{
link = new LinkedList();
}
//1 队列添加方法
public void add(Object obj)
{
//用LinkedList特有的添加方法:头插法
link.offerFirst(obj);
}
//2 队列取出方法
public Object get()
{
//用LinkedList特有的获取方法
return link.pollLast();
}
//3 队列判空方法
public boolean isEmpty()
{
//调用LinkedList判空方法
return link.isEmpty();
}
//4 打印当前队列元素
public void print()
{
System.out.println("队列内容:"+link);
}
}
//堆栈类
class duiZhan
{
private LinkedList link;
duiZhan()
{
link = new LinkedList();
}
//堆栈添加方法
public void add(Object obj)
{
link.offerFirst(obj);
}
//堆栈获取方法
public Object get()
{
return link.pollFirst();
}
//堆栈判空方法
public boolean isEmpty()
{
return link.isEmpty();
}
//4 打印当前堆栈元素
public void print()
{
System.out.println("堆栈内容:"+link);
}
}
class LinkedListTest
{
public static void main(String[] args)
{
//队列测试
duiLieDemo();
//堆栈测试
duiZhanDemo();
}
//队列测试
public static void duiLieDemo()
{
//建立一个队列
DuiLie dl = new DuiLie();
//调用添加方法
dl.add("num01");
dl.add("num02");
dl.add("num03");
dl.add("num04");
//打印当前队列
dl.print();
//调用队列取出方法
while(!dl.isEmpty())
System.out.println(dl.get()+"--出队");
}
//堆栈测试
public static void duiZhanDemo()
{
//建立一个堆栈
duiZhan dz = new duiZhan();
//调用堆栈添加方法
dz.add("num05");
dz.add("num06");
dz.add("num07");
dz.add("num08");
//打印当前堆栈
dz.print();
//调用堆栈取出方法
while(!dz.isEmpty())
System.out.println(dz.get()+"--出栈");
}
}
复制代码
LinkedList建立堆栈测试.jpg
(100.47 KB, 下载次数: 1)
下载附件
2015-4-13 19:21 上传
作者:
奔放的龙小胖
时间:
2015-4-13 21:36
这不是毕姥爷讲的么!?
作者:
lf027
时间:
2015-4-13 22:22
恩呢,挺好,能够看完视频再自己独立的敲出来,值得我们去学习
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2