多个链栈的操作-数据结构的教程
2.多个链栈的操作在程序中同时使用两个以上的栈时,使用顺序栈共用邻接空间很不方便,但若用多个单链栈时,操作极为方便,这就涉及多个链栈的操作。我们可将多个单链栈的栈顶指针放在一个一维数组slStacktype *top[M];之中,让top[0],top[1],…,top[i],…,top[M-1]指向M个不同的链栈,操作时只需确定栈号i,然后以top[i]为栈顶指针进行栈操作,就可实现各种操作。 (1)入栈操作【算法3.12多个链栈的入栈操作】 int pushDupLs(slStacktype *top[M],int i,Elemtype x) {/*将元素x压入链栈top[i]中*/ slStacktype *p; if((p=(slStacktype *)malloc(sizeof(slStacktype)))= =NULL) return FALSE; /*申请一个结点*/ p->data=x; p->next=top[i]; top[i]=p; return TRUE; }
5.3MB
文件大小:
评论区