1、棧的實現
1)棧的功能:進棧、出棧、返回棧口元素……
2)詳解的過程看代碼吧:
- import java.util.*;
- //1藉助LinkedList 類中的方法實現棧
- public class MyStack {
- private LinkedList<Object> li=new LinkedList<Object>();
- //1構造方法
- public MyStack(){
- }
- //2出棧
- public Object pop(){
- if(isEmpty()){
- throw new EmptyStackException();
- }
- return li.removeFirst();
- }
- //3進棧
- public void push(Object obj){ //注意o不要0的區別,不要寫成0了
- li.addFirst(obj);
- }
- //4清空
- public void clear() {
- li.clear();
- }
- //5判斷是否爲空
- public boolean isEmpty(){
- return li.isEmpty();
- }
- //6 將對象轉換成字符串
- public String toString(){
- return li.toString();
- }
- //7返回棧口元素
- public Object peek(){
- if(isEmpty()){
- throw new EmptyStackException();
- }
- return li.peekFirst();
- }
- public static void main(String[] args) {
- MyStack stack=new MyStack();
- //進棧
- stack.push("a");
- stack.push("b");
- //出棧
- System.out.println(stack.pop());
- //返回棧口元素
- System.out.println(stack.peek());
- }
- }
2、隊列的實現:
1)隊列的功能:隊尾進,隊首出、....
2)詳細的見代碼:
- import java.util.*;
- //藉助LinkedList 類中的方法實現隊列
- public class MyQueue {
- private LinkedList<Object> li = new LinkedList<Object>();
- // 1構造方法
- public MyQueue() {
- }
- // 2出列
- public Object get() {
- if (isEmpty()) {
- throw new EmptyStackException();
- }
- return li.removeFirst();
- }
- // 3進列
- public void put(Object obj) {
- li.addLast(obj);
- }
- // 4清空
- public void clear() {
- li.clear();
- }
- // 5 返回隊列首元素(不刪除)
- public Object getTop() {
- if (isEmpty()) {
- throw new EmptyStackException();
- }
- return li.peekFirst();
- }
- // 6將對象轉換成字符串
- public String toString() {
- return li.toString();
- }
- // 7判斷隊列是否爲空
- public boolean isEmpty() {
- return li.isEmpty();
- }
- public static void main(String[] args) {
- MyQueue mq = new MyQueue();
- // 進列
- mq.put("a");
- mq.put("b");
- mq.put("c");
- // 出列
- System.out.println(mq.get());
- System.out.println(mq.get());
- // 返回對首元素
- System.out.println(mq.getTop());
- }
- <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
-
轉載自:http://blog.csdn.net/zsw101259/article/details/7751011