基於棧的平衡符號匹配問題

2021-06-06 21:25:45 字數 701 閱讀 9674

棧的實現

基於vector順序容器的棧的實現

#ifndef weiwei_h

#define weiwei_h

#includeusing std::vector;

templateclass stack

void push(const object& val)

object & pop()

object & top()

bool isempty()

private:

vectorthearray;

int topofstack;

};#endif

#include#include#include#include"weiwei.h"

using namespace std;

int main()

ofstream outfile("2.txt");

if(!outfile)

string line;

char w;

while(getline(infile,line))

{ istringstream stream(line);

while(stream>>w){

if(w=='('||w=='['||w=='{')

{s.push(w);

outfile<

棧應用 平衡符號

平衡符號用於編譯器檢查程式的語法錯誤,每乙個 右括號 必然對應其相應的 左括號 eg 合法 不合法 演算法描述 做乙個空棧,讀入字元直到檔案尾 如果字元是乙個左括號則將其壓入棧,如果字元是乙個右括號 如此時棧空,報錯 否則,彈出棧頂元素,若與相應的左括號不匹配,報錯 到檔案尾,棧非空則報錯 演算法分...

棧的應用 平衡符號

僅對圓括號 方括號 花括號 進行校驗 演算法 建立乙個空棧,讀入字元至檔案尾,如果是 開放字元將其壓棧,如果是閉合字元,此時棧空則 報錯,否則從棧中彈出乙個字元,如果不是對應的開 放字元,則報錯,在檔案尾棧非空報錯。include include struct node typedef struct...

用棧解決符號匹配問題

問題不在詳說,解決思路也很清晰明了,下面貼上 include include define s size 100 棧的空間大小 define stackincreament 10 增加空間 struct sqstack void main 的括號表示式 n gets s ch while p cas...