黑马程序员技术交流社区

标题: 使用LinkedList模拟堆栈和队列的进出操作 [打印本页]

作者: Nemo    时间: 2015-6-16 14:53
标题: 使用LinkedList模拟堆栈和队列的进出操作
  1. //使用LinkedList模拟堆栈和队列数据结构
  2. //堆栈:特点先进后出
  3. //队列:特点先进先出
  4. package com.helong.mystackqueue;
  5. import java.util.*;
  6. class MyStack
  7. {
  8.         LinkedList value=new LinkedList();
  9.         public void push(Object obj)
  10.         {
  11.                 value.offerLast(obj);
  12.         }
  13.         public Object pop()
  14.         {
  15.                 return value.pollLast();
  16.         }
  17.         public String toString()
  18.         {
  19.                 return value.toString();
  20.         }
  21. }
  22. class MyQueue
  23. {
  24.         LinkedList value=new LinkedList();
  25.         public void push(Object obj)
  26.         {
  27.                 value.offerLast(obj);
  28.         }
  29.         public Object pop()
  30.         {
  31.                 return value.pollFirst();
  32.         }
  33.         public String toString()
  34.         {
  35.                 return value.toString();
  36.         }
  37. }
  38. class MyStackQueue
  39. {
  40.         public static void main(String[] args)
  41.         {
  42.                 sop("======================================");
  43.                 //模拟堆栈的进栈,出栈
  44.                 MyStack ms = new MyStack();
  45.                 ms.push("no.1");
  46.                 ms.push("no.2");
  47.                 ms.push("no.3");
  48.                 sop(ms);
  49.                 sop("出栈:"+ms.pop());
  50.                 sop("出栈:"+ms.pop());
  51.                 sop("出栈:"+ms.pop());
  52.                 sop(ms);
  53.                
  54.                 sop("======================================");
  55.                 //模拟队列的入队,出队
  56.                 MyQueue mq = new MyQueue();
  57.                 mq.push("队列no.1");
  58.                 mq.push("队列no.2");
  59.                 mq.push("队列no.3");
  60.                 sop(mq);
  61.                 sop("出队:"+mq.pop());
  62.                 sop("出队:"+mq.pop());
  63.                 sop("出队:"+mq.pop());
  64.                 sop(mq);
  65.         }
  66.         private static void sop(Object obj)
  67.         {
  68.                 System.out.println(obj);
  69.         }
  70. }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2