我是新手,希望高手们能给解答一下

解决方案 »

  1.   

    先进先出 先进后出 你只需要将LinkedList封装起来 根据不同的特性调用addFrist和addLast就可以了
      

  2.   

    二楼方法可行,写一个类Stack类,和java.util.Stack有相同的方法top,put,peek,pop,search,
    内部用LinkedList存储数据。
      

  3.   


    package com.util;
    import java.util.LinkedList;public class Stack<E> {
    private LinkedList<E> data = new LinkedList<E>();
    public boolean empty() {
    return (data.size() == 0);
    }

    public E push(E element) {
    data.addFirst(element);
    return element;
    }

    public E pop(E element) {
    return data.remove(0);
    }
    public E peek(E element) {
    return data.getFirst();
    }

    public int search(Object o) {
    for (int i = 0; i < data.size(); i++) {
    E e = data.get(i);
    if(e == o) {
    return i;
    }

    }
    return -1;
    }

    }
      

  4.   

    自己去看看 Stack的代码实现。
      

  5.   


    package stack;public class Stack<T> {
    private int maxSize;
    private T[] stackArray;
    private int top;/**
    * Stack构造器

    * @param size
    *            栈的长度
    */
    public Stack(int size) {
       maxSize = size;
       stackArray = (T[]) new Object[size];
       top = -1;
    }/**
    * 添加对象

    * @param t
    *            对象
    */
    public void push(T t) {
       stackArray[++top] = t;
    }/**
    * 获得对象 并移除所获得的对象

    * @return T;
    * */
    public T pop() {
       return stackArray[top--];
    }/**
    * 获得对象

    * @return T;
    * */
    public T peek() {
       return stackArray[top];
    }/**
    * 判断当前栈是否为空

    * @return b
    */
    public boolean isEmpty() {
       return (top == -1);
    }/**
    * 判断当前栈是否以满

    * @return b
    * */
    public boolean isFull() {
       return (top == (maxSize - 1));
    }}
    数据结构书中对栈的实现