堆疊的順序儲存實現

2022-05-03 02:12:09 字數 1107 閱讀 9984

1

#define maxsize 《儲存資料元素的最大個數》

23 typedef struct snode *stack;45

struct

snode

(1)入棧

1

void

push (stack ptrs, elementtype item)89

else

1617 }

(2)出棧

1

elementtype pop (stack ptrs)

1213

else

1819 }

乙個陣列實現兩個堆疊

1

#define maxsize 《儲存資料元素的最大個數》

23 typedef struct snode *stack;45

struct

dstack s;

12 s.top1 = -1

;13 s.top2 = maxsize;

建立堆疊

1 stack createstack( int

maxsize )

分別入棧

1

void push (struct dstack *ptrs, elementtype item, int

tag)

1011

if (tag == 1)   //

對第乙個堆疊操作

1213     ptrs->data[++(ptrs->top1)] =item;

1415

else

1617     ptrs->data[--(ptrs->top2)] =item;

1819 }

出棧

1 elementtype pop ( struct dstack *ptrs, int

tag )

1011

else

1617

else

2425

else

3031}32

33 }

堆疊的順序儲存實現

1 include2 include3 include4 define max 50 5 define ok 1 6using namespace std 7 typedef int elemtype 8 typedef struct stack 順序棧的定義 9tstack,tnode 1415 ...

堆疊的順序儲存

堆疊是一種特殊的線性表,是一種線性結構,只能對棧的頂端做操作,操作有入棧和出棧兩種,就是插入和刪除。堆疊一定要遵循先進後出 或叫後入先出 原則,就是最後乙個進去的元素一定是第乙個出來的。那麼堆疊要怎麼實現?第乙個很簡單的方法就是用乙個一維陣列,因為棧是一種按順序儲存的結構,所以可以用一維陣列來儲存棧...

堆疊的順序儲存 順序棧

堆疊的順序儲存結構簡稱順序棧,它是利用一組位址連續的儲存單元依次存放自棧底到棧頂之間的元素。順序棧本質是順序表的簡化,唯一需要確定的是用順序表的那一段表示棧底。通常把順序表的表頭 陣列中下標為0 的一端作為棧底,同時附設指標top指示的棧頂元素在順序表中的位置,top也被成為棧頂指標。由於順序表都是...