typedef
char datatype;
typedef
struct stack stack;
//初始化
void
stackinit
(stack* st,
int n)
//進棧
void
stackpush
(stack* st, datatype data)
//尾插
st->arr[st->size]
= data;
st->size++;}
//出棧
void
stackpop
(stack* st)
//尾刪
st->size--;}
//得到棧頂元素
datatype getstacktop
(stack* st)
//得到棧的大小
intgetstacksize
(stack* st)
//判空
intstackempty
(stack* st)
return0;
}//銷毀
void
stackdestory
(stack* st)
bool isvalid
(char
* s),,
'}};
//遍歷字串
while
(*s !=
'\0')}
//下面這個迴圈只有當第乙個右括號出現的時候才會進入
if(falg ==0)
//棧不為空, 開始檢查括號是否匹配
for(
int j =
0; j <
3; j++
)else
return false;}}
}}if(
stackempty
(&st)==1
)return true;
else
return false;
}
括號匹配問題
時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述 現在,有一行括號序列,請你檢查這行括號是否配對。輸入第一行輸入乙個數n 0輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 no noyes 基本演算法思...
括號匹配問題
假設表示式中包含三種括號 圓括號 方括號和花括號,它們可以相互巢狀,如 等均為正確的格式,而等為不正確的格式。以下為演算法程式 括號匹配問題 include include int main char ch while ch getchar eof count 0 break case if cou...
括號匹配問題
問題描述 假設表示式中允許包含兩種括號 圓括號與方括號,其巢狀的順序隨意。如 或 等為正確的匹配 而 或者 或者 均為錯誤的匹配。現要求編寫程式,判斷輸入的一行括號是否是匹配的,如果是匹配的,輸出yes,否則輸出no。解題思路 檢驗括號是否是匹配的方法可以用 期待的急迫程度 這個概念來描述。例如考慮...