一:棧的數學性質
當n個編號元素以某種順序進棧,並且可以在任意時刻出棧,所獲得的編號元素排列的數目N恰好滿足Catalan函數的計算,即
二:題目一:
試着將1,2,3,4,5,6,六個數字入棧,則出棧方式有幾種?使用數學性質可以知道有132種
三:其他題目:判斷棧給定的操作序列的合法性
I入棧O出棧,例如ABC入棧,出棧為CBA,那么給定序列為IIIOOO,表示3個先入棧,然后出棧
現在給定一個序列(只含IO)要求判斷其是否合法
四:性質
1.IO個數一致
2.開始到中間任一位置I的數目大於O數目
五:實現代碼
int judge(char ch[]) { int inp, out; int i; inp = out = i = 0; while (ch[i] != '\0') { if (ch[i] == 'O') out++; else inp++; if (out > inp) return 0; i++; } if (inp != out) return 0; return 1; }