#include
#include
typedef char elemtype;
//棧的定義
typedef struct linknode
linkstack;
void initstack(linkstack * &s);//棧的初始化
void clearstack(linkstack * &s);//棧的銷毀
int stacklength(linkstack * s);//求棧的長度
int stackempty(linkstack *s);//判斷棧是否是空棧
void push(linkstack * &s,elemtype e);//進棧
int pop(linkstack * &s,elemtype &e);//出棧
int gettop(linkstack * s,elemtype &e);//取棧頂元素
void displaystack(linkstack * s);//顯示棧裡面的元素
int match(elemtype exp,int n);//串括號的匹配
void main()
;if(match(c,5))
else
}//棧的初始化
void initstack(linkstack * &s)
//棧的銷毀
void clearstack(linkstack * &s)
free(p);
}//求棧的長度
int stacklength(linkstack * s)
return(n);
}//判斷棧是否是空棧
int stackempty(linkstack * s)
//進棧(頭插入法)
void push(linkstack * &s,elemtype e)
//出棧
int pop(linkstack * &s,elemtype &e)
p=s->next;
e=p->data;
s->next=p->next;
free(p);
return 1;
}//取棧頂元素
int gettop(linkstack * s,elemtype &e)
e=s->next->data;
return 1;
}//顯示棧裡面的元素
void displaystack(linkstack * s)
printf("\n");
}//判斷括號是否配對
int match(elemtype exp,int n)
else if(exp[i]==')')
else
}else
}i++;
}if(stackempty(st)==1)
else
}
資料結構 棧實現括號匹配
真正學習之後,才發現那些所謂的大嬸不過是多用功了些。不知道以前為什麼不親自動手做做,原來這麼簡單。include include include include 棧的鏈式儲存 typedef struct data typedef struct stack 初始化空棧 void initstack ...
資料結構與演算法實驗3(棧) 括號匹配
用棧adt應用 對稱符號匹配判斷 輸入一行符號,以 結束,判斷其中的對稱符號是否匹配。對稱符號包括 輸出分為以下幾種情況 1 對稱符號都匹配,輸出 right.2 如果處理到最後出現了失配,則輸出兩行 第一行 matching failure.第二行 loss of right character ...
資料結構 鏈棧實現括號匹配
最近在學資料結構,所以發的大多數都是關於資料結構的題 括號匹配原來用動態規劃做的一道題,現在老師要用棧來實現,用就用吧,還不讓用函式,只能用鏈棧,不開森 很簡單的思路,如果是 就看棧頂元素是否匹配,匹配就往下操作,如果表示式完了,棧不為空,不匹配 如果棧空了,表示匹配 下面是 的實現 include...