棧 順序棧的基本操作

2021-08-29 16:28:02 字數 837 閱讀 1909

棧:作為一種限定性線性表,是將線性表的插入和刪除操作限制為僅在表的一端進行,通常將表中允許插入、刪除操作的一端稱為棧頂。

下面給出順序棧的**演示。

順序棧:採用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底的資料元素,同時由於棧操作的特殊性,還必須附設乙個位置指標top來動態的指示

棧頂元素在順序棧中的位置。一般top=-1來表示空棧.

typedef struct//順序棧定義

seqstack;

void initstack(seqstack *s)//初始化順序棧

int push(seqstack *s, datatype x)//順序棧進棧運算

int pop(seqstack *s, datatype *x)//順序棧出棧運算

}

int gettop(seqstack *s, int *x)//順序棧讀棧頂元素運算

}

//驗證

int main()

num=gettop(&s, &num);

printf("棧頂元素為%2d\n", num);

printf("出棧順序為:");

棧 順序棧的基本操作

棧也是一種線性表,但是棧是一種操作受限的線性表,因此也可稱它為限定性的資料機構。棧是限定僅在表尾進行插入或刪除操作的線性表。棧的表尾為它的棧頂,表頭為它的棧底。先進入棧的後出棧,後進入棧的先出棧。所以,棧被稱為後進先出的線性表。順序棧基本操作的實現 include include define in...

順序棧 鏈棧基本操作

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