資料結構棧的實現以及基本操作(括號匹配

2021-10-14 10:02:45 字數 1085 閱讀 8445

首先是一些基本的定義

#include

#include

#include

#define maxsize 100

#define increase 10

using

namespace std;

typedef

char elemtype;

typedef

void status;

資料結構的定義

typedef

struct

stack;

3.基本操作

status initstack

(stack& stack)

//取棧頂元素

status gettop

(stack s, elemtype& e)

e =*(s.top -1)

;}//元素入棧

status push

(stack& s, elemtype e)

*(s.top++

)= e;

}//出棧

status pop

(stack& s,elemtype& e)

e =*(

--s.top);}

//判斷是否為空

bool

isempty

(stack s)

4.最後是主函式的部分。有問題歡迎討論哦。

int

main()

if(isempty

(mystack)

||str[i]

==left)

push

(mystack, str[i]);

else

//輸入乙個右括號}if

(isempty

(mystack)

) cout <<

"匹配"

;else

cout <<

"不匹配"

;return0;

}

hashmap底層實現以及資料結構

hashmap實現原理 簡單一句話陣列鍊錶結構儲存,這裡entry是map中的靜態類,entry陣列預設長度為16,每個陣列上跟著乙個鍊錶,鍊錶什麼時候出現呢?就是在hashcode相同時出現,當put時候會生成乙個hashcode便於儲存位置,但是不避免hashcode相同的情況這個時候就存在鍊錶...

資料結構 棧的介紹以及基本操作

棧 一種特殊的線性表,其只允許在固定的一端進行插入和刪除元素操作。進行資料插入和刪除操作的一端 稱為棧頂,另一端稱為棧底。棧中的資料元素遵守後進先出lifo last in first out 的原則。壓棧 棧的插入操作叫做進棧 壓棧 入棧,入資料在棧頂。出棧 棧的刪除操作叫做出棧。出資料也在棧頂。...

c語言棧的實現以及操作

此文章包含了棧的結構體實現,單資料型別實現,以及清空,判空,入棧,出棧,求棧頂元素的實現 棧作為乙個最簡單的資料結構,實現起來也非常容易,想想現在有一摞盤子,每次只能取走或放乙個盤子且只能最上面進行操作 那麼我們如果有乙個索引top時刻指向最上面的那個盤子,棧不就實現了麼?第一段是單資料型別的 in...