- //使用LinkedList模拟堆栈和队列数据结构
- //堆栈:特点先进后出
- //队列:特点先进先出
- package com.helong.mystackqueue;
- import java.util.*;
- class MyStack
- {
- LinkedList value=new LinkedList();
- public void push(Object obj)
- {
- value.offerLast(obj);
- }
- public Object pop()
- {
- return value.pollLast();
- }
- public String toString()
- {
- return value.toString();
- }
- }
- class MyQueue
- {
- LinkedList value=new LinkedList();
- public void push(Object obj)
- {
- value.offerLast(obj);
- }
- public Object pop()
- {
- return value.pollFirst();
- }
- public String toString()
- {
- return value.toString();
- }
- }
- class MyStackQueue
- {
- public static void main(String[] args)
- {
- sop("======================================");
- //模拟堆栈的进栈,出栈
- MyStack ms = new MyStack();
- ms.push("no.1");
- ms.push("no.2");
- ms.push("no.3");
- sop(ms);
- sop("出栈:"+ms.pop());
- sop("出栈:"+ms.pop());
- sop("出栈:"+ms.pop());
- sop(ms);
-
- sop("======================================");
- //模拟队列的入队,出队
- MyQueue mq = new MyQueue();
- mq.push("队列no.1");
- mq.push("队列no.2");
- mq.push("队列no.3");
- sop(mq);
- sop("出队:"+mq.pop());
- sop("出队:"+mq.pop());
- sop("出队:"+mq.pop());
- sop(mq);
- }
- private static void sop(Object obj)
- {
- System.out.println(obj);
- }
- }
复制代码 |
|