棧(一) 棧的基本操作

2021-06-22 23:06:05 字數 1325 閱讀 9259

1.棧的簡介

棧是一種後入先出的資料結構,一般包含兩種最基本的操作:入棧(push)和出棧(pop)。

入棧操作:top指標上移,元素入棧。

出棧操作:top指標下移。

棧空的條件:top == bottom

棧滿的條件:top == maxsize-1

2.有資料序列1 2 3一次存入乙個棧stack中,則出棧順序可以為以下四種:

1,2,3; 2,1,3; 3,2,1; 1,3,2.

3.任意輸入乙個十進位制整數x(x<32768),輸出x的二進位制值。

#include #define maxsize	15

int main()

while(-1 != top)

printf("\n");

return 0;

}

#include #define maxsize 100

int main()

i ++;

} if('\0' == a[i] && -1 == top)

printf("match.\n");

else

printf("not match.\n");

return 0;

}

5.棧的基本操作——出棧和入棧

#include #include typedef struct st

stack;

void create_stack(stack *s, int ms);

void push(stack *s, int x);

int pop(stack *s);

void clear_stack(stack *s);

int main();

printf("please input stack size:");

scanf("%d", &ms);

create_stack(&s, ms);

for(i = 0; i < 4; i++)

push(&s, a[i]);

while(s.top != -1)

printf("%d ", pop(&s));

printf("\n");

clear_stack(&s);

return 0;

}void create_stack(stack *s, int ms)

void push(stack *s, int x)

int pop(stack *s)

void clear_stack(stack *s)

棧的基本操作(一)

棧是一種只能在一端進行插入或刪除操作的線性表。其中允許進行插入或刪除操作的一端稱為 top 棧頂由乙個稱為棧頂指標的位置指示器 其實就是乙個變數,對於順序棧,就是記錄棧頂元素在陣列位置標號的乙個整型變數 對於鏈式棧,就是記錄棧頂元素所在結點位址的指標 來指示,它是動態變化的。表的另一端稱為棧底,棧底...

棧 順序棧的基本操作

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

棧 順序棧的基本操作

棧 作為一種限定性線性表,是將線性表的插入和刪除操作限制為僅在表的一端進行,通常將表中允許插入 刪除操作的一端稱為棧頂。下面給出順序棧的 演示。順序棧 採用順序儲存結構實現的棧,即利用一組位址連續的儲存單元依次存放自棧底的資料元素,同時由於棧操作的特殊性,還必須附設乙個位置指標top來動態的指示 棧...