链式栈
定义: 栈 是一种 后进先出 的线性表或者说是只允许在表的末端进行插入和删除的线性表。 栈有 顺序栈 (基于数组的存储表示实现)和 链式栈 (基于链表的存储实现)。 这里实现的是链式栈,链式栈的 栈顶 是链表的 表头, 新节点的插入删除均在栈顶(表头)进行。 1 #include<iostream> 2 using namespace std; 3 4 typedef int dataType; 5 6 struct Node //链栈节点 7 { 8 dataType data; //数据域 9 Node *next; //指针域 10 }; 11 12 class LinkedStack 13 { 14 public: 15 LinkedStack(); //构造函数 16 ~LinkedStack(); //析构函数 17 void push(dataType var); //压栈 18 void pop(); //出栈.出栈之前并不判断栈是否已空.需要通过isEmpty()判断 19 dataType getTop(); //取栈顶元素,栈顶无变化.不提前判断栈是否为空 20 bool isEmpty(); //判空.空返回true,反之返回false 21 int getSize(); 22 void makeEmpty(); 23 24 private: 25 Node