鏈棧基本演算法

2021-10-23 01:43:19 字數 1099 閱讀 1569

執行截圖:

1)棧空條件:lst->next==null

2)棧滿條件:通常不存在

3)元素入棧:p 為申請的節點,p->data=x;

p->next=lst->next;

lst->next=p;

注: p變為棧頂指標,指標指向是從上往下所以 p->next=lst->next;

4)元素出棧: p=lst->next;

x=p->data;

lst->next =p->next;

free§;

typedef

struct linknodelinkstack;

//初始化棧的演算法

void

initstack

(linkstack *

&lst)

//判斷棧是否為空

intstackempty

(linkstack *lst)

//入棧操作

void

push

(linkstack *

&lst,

int&x)

//出棧操作

intpop

(linkstack *

&lst,

int&x)

//取棧頂元素

intgop

(linkstack *

&lst,

int&x)

//列印想入棧元素棧內元素

void

printelement

(linkstack *lst)

printf

("\n");

}// 求棧的長度

intlength

(linkstack *lst)

return i;

}int

main()

return0;

}

鏈棧基本操作

棧基本概念 棧 stack 是限定在表尾進行插入和刪除操作的線性表 或單鏈表 只能在一段進行插入和刪除,因此不存在,在中間進行插入 棧頂 top 允許插入和刪除的一端。而另一端稱為棧底 bottom 空棧 不含任何資料元素的棧。後進先出 兩個基本操作 棧的插入操作 push 叫做進棧,或壓棧,或入棧...

鏈棧基本操作

棧 stack 是限定在表尾進行插入和刪除操作的線性表 或單鏈表 只能在一段進行插入和刪除,因此不存在,在中間進行插入 棧頂 top 允許插入和刪除的一端。而另一端稱為棧底 bottom 空棧 不含任何資料元素的棧。後進先出 棧的插入操作 push 叫做進棧,或壓棧,或入棧 刪除操作 pop 叫做出...

順序棧 鏈棧基本操作

include stdafx.h include stdio.h include stdlib.h define stack max size 7 int stackdata stack max size define stack max size 14 int stackdata stack ma...