順序棧的實現

2021-08-14 16:55:41 字數 1268 閱讀 8705

定義順序棧的儲存結構,並且實現基本的操作。包括構造空的順序棧,建立包含若干的元素的順序棧,入棧,出棧,輸出順序棧,求出棧長度,判斷是否為空,判斷是否為滿等。

list.h

#include#include#include#include#include#include// #include#include// #include// 函式狀態的**

#define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

// status是函式的返回值型別,該值是函式結果狀態**,譬如ok等

typedef int status;

sqstack.h

#include"list.h"

#define maxsize 5

#define increment 2

typedef int elemtype;

typedef struct seqstack;

//建立順序棧

seqstack* createstack()

//判斷棧是否為空

int empty(seqstack *s)

//判斷棧是否滿

int full(seqstack *s)

//元素x進棧

void push(seqstack *s, elemtype x)

//出棧

void pop(seqstack *s, elemtype &e)

//取棧頂元素的值

elemtype gettop(seqstack *s)

//求棧的元素個數

int getlength(seqstack* s)

teststack.cpp

#include "sqstack.h"

int main()

printf("逐個出棧:\n");

while(!empty(s))

printf("\n");

push(s, 70);

printf("棧有%d個元素,棧頂元素為:%d\n", getlength(s), gettop(s));

順序棧的實現

棧是一種限定只在表尾進行插入或刪除操作,棧也是線性表 表頭稱為棧的底部,表尾稱為棧的頂部,表為空稱為空棧,棧又 稱為後進先出的線性表,棧也有兩種表示 順序棧與鏈式棧 順序棧是利用一組位址連續的儲存單元,依次存放從棧底到棧頂 的資料元素,附設乙個指標指示棧頂的元素在棧中的位置.ifndef stack...

棧的順序實現

棧的順序實現 03 27 測試環境 tc2.0 include define true 1 define false 0 define len sizeof elemtype define stack initsize 100 define stack increment 30 typedef in...

順序棧的實現

棧關鍵點 後進先出,先進後出 借助陣列和 指標 來實現 includeusing namespace std const int smax 30 template class secsteck secsteck void set datatype a,int n 先建立乙個基礎棧,為後續操作做準備 ...