順序棧的基本操作

2021-10-23 00:15:39 字數 1369 閱讀 8643

#include

#include

#define maxszie 100

typedef

int elemtype;

typedef

struct sqstacksqstack;

//介面

sqstack *

initstack

(sqstack &s)

//初始化建立空棧

void

pushstack

(sqstack &s)

//壓棧

void

displaystack

(sqstack &s)

//遍歷棧

}int

popstack

(sqstack &s,elemtype &e)

//出棧

e=*(--s.top)

;//先使top指標下移,再彈棧;

return e;

}void

cleanstack

(sqstack &s)

//清空棧

void

destory_stack

(sqstack &s)

//銷毀棧

}int

gettop

(sqstack s,elemtype &e)

//得到棧頂元素,注意這裡s前沒有新增引用,該處為值傳遞,不是引用傳遞,為了對main方法中的top指標不進行變動

intstackempty

(sqstack s)

//判斷棧是否清空

intmain()

printf

("該棧頂元素為:");

int v;

gettop

(s,v)

;printf

("%d"

,v);

printf

("\n");

int x,y;

printf

("請輸入出棧資料個數:");

scanf

("%d"

,&x)

;for

(int i=

1;i<=x;i++

)printf

("\n");

printf

("餘下資料如下\n");

displaystack

(s);

cleanstack

(s);

printf

("\n清棧後,棧空否:%d(1:空 0:否)"

,stackempty

(s))

;destory_stack

(s);

}

棧 順序棧的基本操作

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

棧 順序棧的基本操作

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

順序棧 基本操作

include include define maxsize 10 typedef struct sqstack 均通過傳遞指標的方式傳參 void create void insert sqstack s void delete sqstack s void viewdata sqstack s ...