順序棧的應用 括號匹配

2021-08-08 22:59:31 字數 1033 閱讀 6554

#include

#define maxsize 100

typedef struct sequence_stack;

void init(sequence_stack *st)//棧的初始化

int empty(sequence_stack st)//判斷棧是否為空

char read(sequence_stack st)//讀取棧頂元素

void push(sequence_stack *st, char x)//插入元素

st->a[st->top] = x;

st->top = st->top+ 1;

}void dele(sequence_stack *st)//刪除棧頂元素

st->top= st->top- 1;

}int match(char c)

': if (read(s) == '

else

return 0;

case ']': if (read(s) == '[')

else

return 0; 

case ')': if (read(s) == '(')

else

return 0; 

}++i;

}return empty(s);

}void main()

' || ch == ']' || ch == ')')

else

if (ch == '#')

}c[i] = '\0';

int j = 0;

printf("輸入的內容是:");

for (; c[j] != '\0'; j++)

printf("%c  ", c[j]);

printf("\n");

int q = match(c);

if(q==1)

printf("所輸入的括號能夠匹配\n");

if (q == 0)

printf("所輸入的括號不能匹配\n");

}

順序棧的應用括號匹配問題

利用程式設計檢查這一串字元中的 是否匹配 解決思路 利用棧將字串的 的時候取出一位來和棧頂判斷是否相等。充分利用棧空間的特點。include define m 100 using namespace std typedef struct stack stacktype 別名設定 bool judge...

棧應用 括號匹配

假設表示式中允許包含兩種括號 圓括號和方括號。編寫乙個演算法判斷表示式中的括號是否正確配對。由括號構成的字串,包含 如果匹配輸出yes,否則輸出no。複製 yes解決思想 拿到字串後,遍歷字串,當遇到左括號就進棧,右括號棧頂元素出棧,如果括號是匹配的,則最終棧空。include includetyp...

棧的應用 括號匹配

3.1棧的應用 括號匹配 一 實驗目的1 掌握堆疊特殊線性表的儲存方式的基本操作方法。2 掌握堆疊後進先出運算原則在解決實際問題中的應用。3 掌握使用棧的原理來解決表示式中的括號配對問題。二 實驗內容 假設乙個算術表示式中包含圓括弧 方括弧三種型別的括弧,編寫乙個程式用於判別表示式中括弧是否正確配對...