棧的建立及其操作

2022-09-08 19:30:09 字數 1510 閱讀 2391

1.本質是陣列,特殊陣列。

2.結構包含:陣列指標,棧頂下標。

實現:

#

include

#include

using

namespace std;

typedef

int elemtype;

typedef

int status;

#define

maxsize50#

defineok1

#define

error0#

define

overflow-1

//棧的定義:

typedef

struct

sqstack;

//初始化:

void

initstack

(sqstack &s)

//判斷棧空:

status stackempty

(sqstack s)

//入棧:

status push

(sqstack &s,elemtype e)

}//出棧:

status pop

(sqstack &s,elemtype &e)

}//讀棧頂:

status gettop

(sqstack &s,elemtype &e)

void

print

(sqstack s)

}

1.是一種只能從頂進,從頂出的鍊錶。

2.結構包含:

節點結構:節點資料,next指標。

棧結構:節點棧頂指標,節點棧底指標,棧容量。

實現:

#

include

#include

using

namespace std;

typedef

int elemtype;

typedef

int status;

#define

maxsize50#

defineok1

#define

error0#

define

overflow-1

typedef

struct

node

snode,

*snodep;

typedef

struct

links

links;

//初始化:

status initstack

(links &s)

//判斷是否為空棧:

status stackempty

(links s)

//入棧:頂在動

status push

(links &s,elemtype e)

//出棧:頂在動

status pop

(links &s,elemtype &e)

棧操作及其應用

棧可以是順序棧,也可以是鏈棧。順序棧 1 const int maxsize 100 2 順序棧 3struct sqstack78 void initstack sqstack s 912 13int isempty sqstack s 1420 21int push sqstack s,int ...

佇列的建立及其操作

1.隊尾進入,隊頭出的鍊錶 2.結構包含 節點結構 節點資料,next指標。佇列結構 節點隊頭指標,節點隊尾指標。實現 include include using namespace std typedef int elemtype typedef int status define maxsize...

棧的基本操作及其應用

這裡順序棧和鏈棧的基本操作和差別在之前的線性表操作中是一樣的,目前棧對我而言在實際使用中使用哪一種差別並沒有很大,順序棧用起來會方便一點 順序棧 adt typedef struct seqstack 入棧 int push seqstack s,datatype x 出棧 int pop seqs...