棧 括號匹配

2021-09-02 18:48:13 字數 905 閱讀 5199

/** 括號匹配,棧的經典題目,將左括號入站,

然後遇到右括號就詢問棧頂是不是與之相匹配的左括號,

如果是,出棧,

不是,匹配失敗。

注意這個題目是多組輸入,而且包含空格,所以需要用 gets讀入。

**/#include #include #include #include using namespace std;

typedef struct node

node;

typedef struct stack

stack;

node *newnode()//建立節點

;stack *newstack()//建立新棧

void push(stack *t,char x)//入站

char top(stack *t)//詢問棧頂元素

void pop(stack *t)//出棧

int empty(stack *t)//詢問棧是否為空

void del(stack *t)//清空棧

int main()

stack;

stack newstack()

void push(stack *t,char x)

char top(stack t)

void pop(stack *t)

int empty(stack t)

void del(stack *t)

int main()

else if(s[i]==']')

else if(s[i]=='}')

}if(i!=n||!empty(t))

printf("no\n");

else

printf("yes\n");

}return 0;

括號匹配 棧

蒜頭君在紙上寫了乙個串,只包含 和 乙個 能唯一匹配乙個 但是乙個匹配的 必須出現在 之前。請判斷蒜頭君寫的字串能否括號完全匹配,如果能,輸出配對的括號的位置 匹配的括號不可以交叉,只能巢狀 一行輸入乙個字串只含有 和 輸入的字串長度不大於 50000 如果輸入括號不能匹配,輸出一行 no 否則輸出...

棧括號匹配

input 輸入包括多組測試資料,每組資料是乙個字串,字串只包含 等字元。output 對於每組資料輸出 yes 表示當前字串中的括號是匹配的,否則輸出 no 不包括引號 sampleinput sampleoutput yes no題解 利用棧 includeusing namespace std...

棧 括號匹配

include include define max size 1024 define seqstack true 1 define seqstack false 0 掃瞄字串,如果碰到左括號,直接入棧 如果碰到右括號,從棧頂彈出括號,判斷是否是左括號,如果是則匹配成功 陣列模擬棧的順序儲存 typ...