21 lines
698 B
C
21 lines
698 B
C
|
// 类模板的声明,关键字 class 也可以更换成 typename
|
||
|
template<class T> class LinkedListStack
|
||
|
{
|
||
|
public:
|
||
|
LinkedListStack();
|
||
|
~LinkedListStack();
|
||
|
|
||
|
void push(const T & data); //入栈
|
||
|
T peek(); //返回栈顶元素,即出栈,不删除栈顶元素
|
||
|
T pop(); //出栈,删除栈顶元素
|
||
|
int size() const; //返回栈的大小
|
||
|
private:
|
||
|
int count; //存放栈的大小,因为是单链表所以这里不规定栈的最大可承载量
|
||
|
struct LinkedNode
|
||
|
{
|
||
|
T data;
|
||
|
LinkedNode * next;
|
||
|
};
|
||
|
LinkedNode * head; // 单链表的头指针,不带头节点
|
||
|
};
|