参考前文:线性表(六)堆栈:顺序栈及其基本操作(初始化、判空、判满、入栈、出栈、存取栈顶元素、清空栈) 三、链式栈 用数组实现的栈效率很高,但若同时使用多个栈,顺序栈将浪费很多空间。用单链表来实现栈可避免这个问题,其代价是要为每个栈元素分配一个额外的指针空间(存放指针域)。 用...
支持随机访问:与线性栈不同,链栈支持在任意位置插入或删除元素,也支持随机访问栈中的元素。因此,链栈比线性栈更加灵活。 🎈缺点: 需要额外的存储空间:与线性栈不同,链栈需要额外的指针来表示元素之间的关系,因此需要更多的存储空间。 操作效率低:相对于线性栈来说,链栈的操作效率比较低,因为在进行插入和删除操作...
using namespace std; /*链栈的定义*/ typedef struct sNode { char data; struct sNode * next; }sNode; typedef sNode *linkStack; /*初始化链栈*/ void initStack_L(linkStack &S) { S=new sNode; S->next=NULL; } /*建立一个链栈*/ void creatStack_L(linkStack &S,int n) { initStac...