首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >用LinkedList类实现 模拟堆栈…

用LinkedList类实现 模拟堆栈…

作者头像
悟鸣
发布2021-08-27 11:34:25
发布2021-08-27 11:34:25
6030
举报

用  LinkedList类实现 模拟 堆栈的功能

原理:

1、堆栈:  先进后出 

2、队列: 先进先出

运行结果截图:

第一部分  模仿队列的类

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

欢迎 访问 留言 评论  相互学习

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015/06/20 ,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档