3.1.5链栈 1.链栈结构及数据类型 栈的链式存贮结构,也称为链栈,它是一种限制运算 的链表,即规定链表中的扦入和删除运算只能在链表 开头进行。链栈结构见图3-5 top因axa2x 栈顶 栈底 图3-5链栈结构示意图
3.1.5链栈 1.链栈结构及数据类型 栈的链式存贮结构,也称为链栈,它是一种限制运算 的链表,即规定链表中的扦入和删除运算只能在链表 开头进行。链栈结构见图3-5。 头 a1 a2 top 栈顶 栈底 …… an ^ 图 3-5 链栈结构示意图
xx2,链栈的五种栈运笪 a(1)栈初始化 void inistack(link * top) i top->next=NULL I (2)进栈运算 X void push (link *top, int x) flink*s: new link s->data=X S->next==top->next top->next=s;)
2.链栈的五种栈运算 (1)栈初始化 void inistack(link *top) { top->next=NULL;} (2)进栈运算 void push(link *top,int x) { link *s; s=new link; s->data=x; s->next=top->next; top->next=s; }
(3)退栈运算 void pop(link *top link as S-top->next if(! =NULL) top->next=s->next delete(s)
(3)退栈运算 void pop(link *top) { link *s; s=top->next; if(s!=NULL) { top->next=s->next; delete(s); } }
(4)取栈顶元素 Ai elemtype gettop(link * top) if( top->next! =NULL) return(top->next->data) else return(NULL)
(4)取栈顶元素 elemtype gettop(link *top) { if(top->next!=NULL) return(top->next->data); else return(NULL); }