网站开发毕业设计书,网页制作工具不包括,河北百度seo关键词,做酒招代理的网站目录
堆栈与队列算法-以链表来实现堆栈
C代码 堆栈与队列算法-以链表来实现堆栈
虽然以数组结构来制作堆栈的好处是制作与设计的算法都相当简单#xff0c;但若堆栈本身是变动的话#xff0c;则数组大小无法事先规划声明。这时往往必须考虑使用最大可能性的数组空间#…目录
堆栈与队列算法-以链表来实现堆栈
C代码 堆栈与队列算法-以链表来实现堆栈
虽然以数组结构来制作堆栈的好处是制作与设计的算法都相当简单但若堆栈本身是变动的话则数组大小无法事先规划声明。这时往往必须考虑使用最大可能性的数组空间这样会造成内存空间的浪费。而用链表来制作堆栈的优点是随时可以动态改变链表的长度不过缺点是设计时算法较为复杂。
C代码
#includeiostream
using namespace std;class Node {
public:int data;Node* Next;
};class Stack {
private:Node* top;
public:Stack() {top nullptr;}bool IsEmpty() {if (top nullptr)return true;elsereturn false;}void Push(int tempData) {Node* newNode new Node;newNode-data tempData;newNode-Next top;top newNode;}void Pop() {Node* ptr;if (top ! nullptr) {ptr top;top top-Next;ptr nullptr;delete ptr;}}Node* GetTop() {if (top ! nullptr) {return top;}}
};int main() {Stack* stack new Stack();int value;cout 请输入10个数据 endl;for (int i 0; i 10; i) {cin value;stack-Push(value);}cout endl;while (!stack-IsEmpty()) {cout 从堆栈中弹出数据 stack-GetTop()-data endl;stack-Pop();}cout endl;delete stack;return 0;
}
输出结果