黑马程序员技术交流社区
标题:
堆栈和队列
[打印本页]
作者:
追逐
时间:
2014-3-21 17:35
标题:
堆栈和队列
本帖最后由 追逐 于 2014-3-21 19:29 编辑
/*
使用LinkedList模拟出一个堆栈或者队列的数据结构
堆栈:先进后出
队列:先进先出
*/
import java.util.LinkedList;
//写一个对列
class DuiLie
{
private LinkedList ll;
DuiLie()
{
ll = new LinkedList();
}
//输入元素
public void myAdd(Object obj)
{
ll.addFirst(obj); //把每次传进来的元素都放在第一位
}
//获取元素
public Object myGet()
{
return ll.removeLast(); //把要删除的元素反出去。这样可以保证把存进来元素一次取出
}
//添加一个判断是否存在元素的函数
public boolean isNull()
{
return ll.isEmpty();
}
}
//写一个堆栈
class DuiZhan
{
private LinkedList ll;
DuiZhan()
{
ll = new LinkedList();
}
//输入元素
public void myAdd(Object obj)
{
ll.addFirst(obj);
}
//获取元素
public Object myGet()
{
return ll.removeFirst();
}
//判断是否为空
public boolean isNull()
{
return ll.isEmpty();
}
}
class LinkedListTest
{
public static void main(String[] args)
{
//调用堆栈
duiZhan();
//调用队列
duiLie();
}
//写一个应用堆栈的函数
public static void duiZhan()
{
DuiZhan d = new DuiZhan(); //创建一个容器
d.myAdd("java03"); //输入元素
d.myAdd("java04");
//获取全部元素
for( ; !d.isNull(); )
{
p(d.myGet());
}
}
//写一个应用队列的函数
public static void duiLie()
{
DuiLie d = new DuiLie();
d.myAdd("java01"); //添加元素
d.myAdd("java02");
//获取全部元素
for( ; !d.isNull(); )
{
p(d.myGet());
}
}
public static void p(Object obj)
{
System.out.println(obj);
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2