棧的建立與操作

2021-10-23 13:00:27 字數 1410 閱讀 5580

棧的建立與操作

主要包括建立棧,以及入棧,出棧,判斷棧空和棧滿等基本操作。遵循先進後出,後進先出原則。

#define  _crt_secure_no_warnings

#include

#define maxsize 5

#define error -1

#define ok 0

1.首先定義結構體,包括棧頂指標(這裡的指標並非真正意義上的指標,只是乙個變數,起到標記位置的作用)和放置元素的陣列。

struct stack 

;

2.建立棧,將棧頂指標置為-1。

void

createstack

(stack &s)

3.判斷棧空和棧滿

int

isempty

(stack& s)

//判斷棧空

intisfull

(stack& s)

//判斷棧滿

4.進行出棧和入棧操作

int

push

(stack& s,

int element)

//入棧操作

s.top++

; s.data[s.top]

= element;

return s.top;

}int

pop(stack& s)

//出棧操作

else

}

5.源**如下

#define  _crt_secure_no_warnings

#include

#define maxsize 5

#define error -1

#define ok 0

struct stack

;void

createstack

(stack &s)

intpush

(stack& s,

int element)

s.top++

; s.data[s.top]

= element;

return s.top;

}int

pop(stack& s)

else

}int

isempty

(stack& s)

intisfull

(stack& s)

intmain()

while(!

isempty

(s))

return0;

}

鏈棧的建立與基本操作

1.定義結點結構體,含有資料和指標兩個成員變數 2.定義棧結構體,含有棧頂指標和棧中元素個數兩個成員變數,其中棧頂指標是結點結構體指標型別 3.棧頂指標當作頭指標指向第乙個元素,利用頭插法實現入棧 專案名稱 鏈棧的建立與基本操作 編譯環境 vc 2008 作者相關 最後修改 2019.6.21 學習...

棧的建立及其操作

1.本質是陣列,特殊陣列。2.結構包含 陣列指標,棧頂下標。實現 include include using namespace std typedef int elemtype typedef int status define maxsize50 defineok1 define error0 ...

棧操作與棧幀

結構化程式的乙個最基本的單元就是 函式 或者叫 過程 在彙編這一層自然也相應的有支援這些概念的指令操作,如棧操作和棧幀的概念。1 定址方式 我們已經知道在運算元表示中有一種是用來指示記憶體位址的內容的,在gnu assembly中指示記憶體位址有多種方式,這些方式被統稱 定址方式 通用的定址格式為 ...