用LinkedList类实现 模拟堆栈…

来源:互联网 发布:三国杀网络访问失败 编辑:程序博客网 时间:2024/06/15 01:48

 

 

 

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

 原理:

  1、堆栈:  先进后出 

  2、队列: 先进先出

 

 

运行结果截图:

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

第一部分  模仿队列的类 

 

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 

 

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

 

0 0
原创粉丝点击