您的位置:首页 > 其它

用LinkedList类实现 模拟堆栈…

2015-06-20 10:37 363 查看
用 LinkedList类实现 模拟 堆栈的功能

原理:

1、堆栈: 先进后出

2、队列: 先进先出

运行结果截图:


模拟堆栈的功能" TITLE="用LinkedList类实现 模拟堆栈的功能" />


第一部分 模仿队列的类

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

欢迎 访问 留言 评论 相互学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: