1. 程式人生 > >棧 stack 用連結串列實現

棧 stack 用連結串列實現

#ifndef STACKWITHLINKEDLIST_H
#define STACKWITHLINKEDLIST_H
#include "LinkedList.h"


template<typename T>
class Stack{
public:
    Stack();
    bool isEmpty();
    T peek();
    void push(T value);
    T pop();
    int getSize();
private:
    LinkedList<T> list;
};


template<typename T>
Stack<T>::Stack(){
}


template<typename T>
bool Stack<T>::isEmpty(){
    return list.isEmpty();
}


template<typename T>
T Stack<T>::peek(){
    return list.getLast();
}


template<typename T>
void Stack<T>::push(T value){
    list.addLast(value);
}


template<typename T>
T Stack<T>::pop() {
    return list.removeLast();
}


template<typename T>
int Stack<T>::getSize(){
    return list.getSize();
}


#endif // STACKWITHLINKEDLIST_H
上一章使用陣列實現Stack類。使用連結串列來實現Stack類效率會更高