棧也是一種線性表,但是棧是一種操作受限的線性表,因此也可稱它為限定性的資料機構。
棧是限定僅在表尾進行插入或刪除操作的線性表。棧的表尾為它的棧頂,表頭為它的棧底。
先進入棧的後出棧,後進入棧的先出棧。所以,棧被稱為後進先出的線性表。
順序棧基本操作的實現:
#include
#include
#define init_stacksize 5
#define incrementsize 5
typedef structsqstack;
int init_stack(sqstack &s);
int stack_empty(sqstack s);
int push(sqstack &s,int e);
void get_top(sqstack s,int &e);
void pop(sqstack &s,int &e);
int clear_stack(sqstack &s);
int main()
//檢視棧頂元素
get_top(s,e);
printf("棧頂元素為:%d\n",e);
//刪除棧頂元素並且列印它的值
pop(s,e);
printf("刪除棧頂元素成功,其值為:%d\n",e);
//再次檢視棧頂元素
get_top(s,e);
printf("棧頂元素為:%d\n",e);
//清空棧
if(clear_stack(s)==1)
printf("清空棧成功!\n");
}int clear_stack(sqstack &s)
void pop(sqstack &s,int &e)
void get_top(sqstack s,int &e)
int push(sqstack &s,int e)
*s.top++=e;
}int stack_empty(sqstack s)
int init_stack(sqstack &s)
棧 順序棧的基本操作
棧 作為一種限定性線性表,是將線性表的插入和刪除操作限制為僅在表的一端進行,通常將表中允許插入 刪除操作的一端稱為棧頂。下面給出順序棧的 演示。順序棧 採用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底的資料元素,同時由於棧操作的特殊性,還必須附設乙個位置指標top來動態的指示 棧...
順序棧 鏈棧基本操作
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...