A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 追逐 高级黑马   /  2014-3-21 17:35  /  1165 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 追逐 于 2014-3-21 19:29 编辑

/*
使用LinkedList模拟出一个堆栈或者队列的数据结构
堆栈:先进后出
队列:先进先出
*/

  1. import java.util.LinkedList;

  2. //写一个对列
  3. class DuiLie
  4. {
  5.         private LinkedList ll;
  6.         DuiLie()
  7.         {
  8.                 ll = new LinkedList();               
  9.         }
  10.         
  11.         //输入元素
  12.         public void myAdd(Object obj)
  13.         {
  14.                 ll.addFirst(obj); //把每次传进来的元素都放在第一位
  15.         }

  16.         //获取元素
  17.         public Object myGet()
  18.         {
  19.                 return ll.removeLast(); //把要删除的元素反出去。这样可以保证把存进来元素一次取出
  20.         }

  21.         //添加一个判断是否存在元素的函数
  22.         public boolean isNull()
  23.         {
  24.                 return ll.isEmpty();
  25.         }

  26. }

  27. //写一个堆栈
  28. class DuiZhan
  29. {
  30.         private LinkedList ll;
  31.         DuiZhan()
  32.         {
  33.                 ll = new LinkedList();
  34.         }

  35.         //输入元素
  36.         public void myAdd(Object obj)
  37.         {
  38.                 ll.addFirst(obj);
  39.         }

  40.         //获取元素
  41.         public Object myGet()
  42.         {
  43.                 return ll.removeFirst();
  44.         }

  45.         //判断是否为空
  46.         public boolean isNull()
  47.         {
  48.                 return ll.isEmpty();
  49.         }

  50. }

  51. class LinkedListTest
  52. {
  53.         public static void main(String[] args)
  54.         {
  55.                 //调用堆栈
  56.                 duiZhan();
  57.                 //调用队列
  58.                 duiLie();
  59.         }
  60.         
  61.         //写一个应用堆栈的函数
  62.         public static void duiZhan()
  63.         {
  64.                 DuiZhan d = new DuiZhan(); //创建一个容器
  65.                 d.myAdd("java03"); //输入元素
  66.                 d.myAdd("java04");
  67.                
  68.                 //获取全部元素
  69.                 for( ; !d.isNull(); )
  70.                 {
  71.                         p(d.myGet());
  72.                 }
  73.         }

  74.         //写一个应用队列的函数
  75.         public static void duiLie()
  76.         {
  77.                 DuiLie d = new DuiLie();
  78.                 d.myAdd("java01"); //添加元素
  79.                 d.myAdd("java02");
  80.                
  81.                 //获取全部元素
  82.                 for( ; !d.isNull(); )
  83.                 {
  84.                         p(d.myGet());
  85.                 }
  86.         }

  87.         public static void p(Object obj)
  88.         {
  89.                 System.out.println(obj);
  90.         }
  91. }
复制代码


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马