#include #include #include #include typedef char datatype;
#include int match(datatype e, datatype ch);
void main()
'的括號表示式:\n");
gets(ch);
p = ch; //p指向輸入的括號表示式
while (*p) //判斷p指向的字元是否是字串結束標誌
': case ']':
case ')':
if (stackempty(s)) //如果是右括號且棧已空,說明不匹配
else
}default: //如果是其他字元不處理,直接將p指向下乙個字元
p++;
} }if (stackempty(s)) //如果字串行讀入完畢,且棧已空,說明括號序列匹配
printf("括號匹配.\n");
else
printf("缺少有括號.\n"); //如果字串行讀入完畢,且棧不空,說明括號序列不匹配
}int match(datatype e, datatype ch)
') return 1;
else
return 0;
}
/*linkstack.h函式*/
#include#include#include//typedef int datatype;
typedef struct node
lstacknode,*linkstack;
/*鏈棧初始化操作*/
void initstack(linkstack *top)
/*判斷鏈棧是否為空*/
int stackempty(linkstack top)
/*進棧操作*/
int pushstack(linkstack top, datatype e)
p->data = e;//指標p指向頭結點
p->next = top->next;
top->next = p;
return 1;
}/*出棧操作*/
int popstack(linkstack top, datatype *e)
top->next = p->next; //將棧頂結點與鍊錶斷開,即出棧
*e = p->data; //將出棧元素賦給e
free(p); //釋放p指向的結點
return 1;
}/*取棧頂元素*/
int getstack(linkstack top, datatype *e)
*e = p->data; //將p指向的結點元素賦給e
return 1;
}/*求表長操作*/
int lengthstack(linkstack top)
return count; //返回棧的長度
}/*銷毀鏈棧*/
void destorystack(linkstack top)
}
括號配對 c(棧)
輸入一行字串,都為括號,判斷是否匹配.只有 這些。輸入第一行k測試資料組數 之後1 k 1行為一行字串 長度 100 輸出yes or no 樣例輸入 3 樣例輸出 yesyes no include include include using namespace std stackx int ma...
括號配對問題 棧
時間限制 3 sec 記憶體限制 128 mb 提交 3 解決 2 提交 狀態 討論版 現在,有一行括號序列,請你檢查這行括號是否配對。第一行輸入乙個數n 0每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 3 no noyes 解題思路 用c 的庫函式,...
nyoj 括號配對問題(棧)
括號配對問題 時間限制 3000 ms 記憶體限制 65535 kb 難度 3 描述現在,有一行括號序列,請你檢查這行括號是否配對。輸入 第一行輸入乙個數n 0 輸出 每組輸入資料的輸出佔一行,如果該字串中所含的括號是配對的,則輸出yes,如果不配對則輸出no 樣例輸入 3 樣例輸出 nono ye...