























別人寫的代碼
char stack[200];/* ??臻g */
int size=0; /* 入棧個數(shù) */
int PrintMatchedPairs(char *expression)
{
int i;
for(i=0;i<strlen(expression);i++)
{
char c=expression[i];
if(c=='('||c=='['||c=='{') /* 遇到左括號 */
{
stack[size]=c; /* stack push */
size++;
}
else if(c==')') /* 遇到右括號 */
{
if(size==0||stack[size-1]!='(') /* 檢查 stack 最后一個是否是 '(' */
{
size=0;
return 0;
}
else
size--; /* stack pop */
}
else if(c==']')
{
if(size==0||stack[size-1]!='[') /* 檢查 stack 最后一個是否是 '[' */
{
size=0;
return 0;
}
else
size--; /* stack pop */
}
else if(c=='}')
{
if(size==0||stack[size-1]!='{') /* 檢查 stack 最后一個是否是 '{' */
{
size=0;
return 0;
}
else
size--; /* stack pop */
}
}
if(size==0)
return 1;
else
{
size=0;
return 0;
}
}
int size=0; /* 入棧個數(shù) */
int PrintMatchedPairs(char *expression)
{
int i;
for(i=0;i<strlen(expression);i++)
{
char c=expression[i];
if(c=='('||c=='['||c=='{') /* 遇到左括號 */
{
stack[size]=c; /* stack push */
size++;
}
else if(c==')') /* 遇到右括號 */
{
if(size==0||stack[size-1]!='(') /* 檢查 stack 最后一個是否是 '(' */
{
size=0;
return 0;
}
else
size--; /* stack pop */
}
else if(c==']')
{
if(size==0||stack[size-1]!='[') /* 檢查 stack 最后一個是否是 '[' */
{
size=0;
return 0;
}
else
size--; /* stack pop */
}
else if(c=='}')
{
if(size==0||stack[size-1]!='{') /* 檢查 stack 最后一個是否是 '{' */
{
size=0;
return 0;
}
else
size--; /* stack pop */
}
}
if(size==0)
return 1;
else
{
size=0;
return 0;
}
}