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...