SDUT 1466 雙向佇列

2021-08-04 10:28:00 字數 1281 閱讀 7355

problem description

想想雙向鍊錶……雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首;兩頭都可以做出隊,入隊的操作。

現在給你一系列的操作,請輸出最後佇列的狀態;

命令格式:

lin x  x表示乙個整數,命令代表左邊進隊操作;

rin x  表示右邊進隊操作;

rout

lout   表示出隊操作;

input

第一行包含乙個整數m(m<=10000),表示有m個操作;

以下m行每行包含一條命令;

命令可能不合法,對於不合法的命令,請在輸出中處理;

output

輸出的第一行包含佇列進行了m次操作後的狀態,從左往右輸出,每兩個之間用空格隔開;

以下若干行處理不合法的命令(如果存在);

對於不合法的命令,請輸出一行x error

其中x表示是第幾條命令;

example input

8

lin 5

rin 6

lin 3

lout

rout

rout

rout

lin 3

example output

3

7 error

hint

#include#include#includetypedef int qelemtype;

typedef struct qnode

qnode, *queueptr;

typedef struct

linkqueue;

void initqueue(linkqueue *q) //初始化

void rin(linkqueue *q, int n)

else //空則新建節點

}void lin(linkqueue *q, int n)

else //空則新建節點

}int lout(linkqueue *q)

int rout(linkqueue *q)

void output(linkqueue *q)

printf("\n");

}int main()

} else

}} output(&q);

int u;

for(u = 1; u <= k; u++)

printf("%d error\n", o[u]);

return 0;

}

SDUT 1466 雙向佇列

想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請輸出最後佇列的狀態 命令格式 lin x x表示乙個整數,命令代表左邊進隊操作 rin x 表示右邊進隊操作 rout lout 表示出隊操作 第一行包含乙個整數m m 10...

雙向佇列sdut 1466

time limit 1000 ms memory limit 65536 kib submit statistic discuss problem description 想想雙向鍊錶 雙向佇列的定義差不多,也就是說乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。現在給你一系列的操作,請...

雙向佇列基本操作 (SDUT 1466)

雙向佇列,乙個佇列的隊尾同時也是隊首 兩頭都可以做出隊,入隊的操作。用deque來表示,定義 deque q 乙個佇列,分左邊和右邊,隊首 q.front 隊尾 q.back 是否空判斷 q.empty 清空 q.clean 返回指定元素 q.at 刪除元素 q.erase 頭部壓入 q.push ...