YTU 3001 判斷操作是否合法(棧和佇列)

2021-07-10 23:11:33 字數 788 閱讀 7210

時間限制: 1 sec  

記憶體限制: 128 mb

提交: 4  

解決: 2

假設以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(t==0)return 1;

else return 0;

}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 輸入...

判斷輸入是否合法

一 判斷輸入是否為數字 通常使用方法1和3,方法2和4無法保證一定能判斷正確。1 函式isdigit 表頭檔案 include 定義函式 int isdigit char c 函式說明 檢查引數c是否為阿拉伯數字0到9。返回值若引數c為阿拉伯數字,則返回true,否則返回null 0 2 當使用ci...