鏈棧基本操作

2021-08-16 10:32:23 字數 1500 閱讀 4498

棧(stack)是限定在表尾進行插入和刪除操作的線性表(或單鏈表)。 

//只能在一段進行插入和刪除,因此不存在,在中間進行插入 

棧頂(top):允許插入和刪除的一端。而另一端稱為棧底(bottom) 

空棧:不含任何資料元素的棧。 

後進先出

棧的插入操作(push),叫做進棧,或壓棧,或入棧 

刪除操作(pop),叫做出棧,或彈棧 

注意鏈棧next指標的指向,與佇列不同:

如果插入乙個元素,它的next指標是指向前乙個已經在棧中的元素的 

而佇列則是,插入乙個元素,其next指標是往外指,指向空。 

鏈棧的next指標之所以這樣,是方便刪除操作,這一點可以在程式設計的過程中體會到。 

/**建立乙個空棧*/

link_stack * creat_stack()

/**入棧操作:push*/

link_stack * push_stack(link_stack *p,int elem)

/**出棧操作:pop*/

link_stack * pop_stack(link_stack *p)

else

}/**棧的遍歷:輸出棧*/

int show_stack(link_stack *p)

while(null != temp)

cout << endl;

return0;}

int main()

cout << "空棧插入5個元素後:"

<< endl;

show_stack(p);

cout << "刪除3個元素後:"

<< endl;

for(i = 3;i--;)

show_stack(p);

cout << "count:"

<< p->count << endl;

cout << "刪除2個元素後:"

<< endl;

for(i = 2;i--;)

show_stack(p);

cout << "count:"

<< p->count << endl;

push_stack(p,6);

cout << "插入元素6後:"

鏈棧基本操作

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

順序棧 鏈棧基本操作

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...

順序棧 鏈棧基本操作

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...