time limit: 1 sec
memory limit: 128 mb
submit: 67
solved: 22
假設以i和o分別表示進棧和出棧操作,棧的初態和終態均為空,進棧和出棧的操作序列可表示為僅由i和o組成的序列。
順序棧的定義為
typedef struct
sqstack;
編寫乙個演算法,判斷棧中的序列是否合法!若合法則返回1,否則返回0.
需編寫的演算法為:
int judge(sqstack *s);
輸入為乙個字串,表示進棧出棧的操作序列,該序列儲存在棧中。
若操作序列合法則輸出「yes」,否則輸出"no"。
ioiioioo
yes
1、只需提交你所編寫的演算法
2、棧的初態和終態均為空
#include #include #include #define sizemax 105
typedef char elemtype;
typedef struct
sqstack;
void initstack(sqstack *&s)
bool push(sqstack *&s,elemtype c)
int judge(sqstack *s)
if(i!=-1)return 0;
else return 1;
}void destroystack(sqstack *&s)
int main()
判斷操作是否合法A
time limit 1 sec memory limit 128 mb submit 44 solved 14 submit status web board 假設以i和o分別表示進棧和出棧操作,棧的初態和終態均為空,進棧和出棧的操作序列可表示為僅由i和o組成的序列。順序棧的定義為 typedef...
判斷操作是否合法(棧)
假設以i和o分別表示進棧和出棧操作,棧的初態和終態均為空,進棧和出棧的操作序列可表示為僅由i和o組成的序列。順序棧的定義為 typedef struct sqstack 編寫乙個演算法,判斷棧中的序列是否合法!若合法則返回1,否則返回0.需編寫的演算法為 int judge sqstack s 輸入...
資料結構實驗題 判斷入棧出棧操作序列是否合法
假設以i和o分別代表入棧和出棧操作,設計乙個演算法判斷任一給定的棧操作序列是否合法。例如 ioioiiooio 演算法的設計思想 依次掃瞄出棧入棧操作序列,每掃瞄至乙個位置,需檢查出棧次數是否大於入棧次數,若大則非法。掃瞄結束後,再檢查出棧次數與入棧次數是否相等,若不相等,則非法。c 如下 incl...