棧的順序儲存(陣列實現)

2021-10-24 09:33:11 字數 1665 閱讀 8777

棧是只允許一一端進行操作的的線性表,首先強調的是棧是一種線性表,其次棧只限定在一端進行操作。

initstack() 初始化棧

stackempty() 判斷棧空

push() 進棧

pop() 出棧

gettop() 獲取棧頂元素

destorystack() 銷毀棧

初始化

typedef

struct

sqstack;

//初始化

void

initstack

(sqstack &s)

棧空

bool

isnull

(sqstack &s)

else

}

進出棧

//進

bool

push

(sqstack &s,

int x)

s.data[

++s.top]

= x;

return

true;}

//出bool

pop(sqstack &s ,

int&x)

x = s.data[s.top--];

return

true

;}

讀頂部元素

//讀頂

intgettop

(sqstack &s)

int ele = s.data[s.top]

;return ele;

}

測試整合**

#include

#define max 100

using

namespace std;

typedef

struct

sqstack;

//初始化

void

initstack

(sqstack &s)

//判棧空

bool

isnull

(sqstack &s)

else

}//進

bool

push

(sqstack &s,

int x)

s.data[

++s.top]

= x;

return

true;}

//出bool

pop(sqstack &s ,

int&x)

x = s.data[s.top--];

return

true;}

//讀頂

intgettop

(sqstack &s)

int ele = s.data[s.top]

;return ele;

}int main (

)push

(sta,23)

;gettop

(sta)

;int record =0;

pop(sta,record)

; cout << record

(sta)

)return0;

}

陣列實現棧的順序儲存功能

首先先了解一下棧的特性 棧 stack,又稱堆疊,它是運算受限的線性表,其限制是僅允許在表的一端進行插入和刪除操作,不允許在其他任何位置進行新增 查詢 刪除等操作。簡單的說 採用該結構的集合,對元素的訪問有如下的特點 1.先進後出 即,存進去的元素,要在後它後面的元素依次取出後,才能取出該元素 例如...

棧的順序儲存實現

首先要認識到viod p 2 表示的是兩個建立乙個包含兩個元素的陣列,每個元素是void 型別。即 void p 2 和這種寫法相同 void p0 void p1 採用份檔案的形式使用vs2013 c語言 編寫 ifndef seqstack h define seqstack h include...

棧的順序儲存結構和操作實現 陣列實現

今天學習了一下棧,順便自己敲 實現棧的功能,本次是陣列實現的。話不多說,看源 定義介面 package com.guobing.stack suppresswarnings hiding public inte ce stack inte ce實現介面 package com.guobing.sta...