国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

雙向隊列

2019-11-10 18:32:35
字體:
來源:轉載
供稿:網友

PRoblem Description

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

現在給你一系列的操作,請輸出最后隊列的狀態; 命令格式: LIN X X表示一個整數,命令代表左邊進隊操作; RIN X 表示右邊進隊操作; ROUT LOUT 表示出隊操作; Input

第一行包含一個整數M(M<=10000),表示有M個操作; 以下M行每行包含一條命令; 命令可能不合法,對于不合法的命令,請在輸出中處理; Output

輸出的第一行包含隊列進行了M次操作后的狀態,從左往右輸出,每兩個之間用空格隔開; 以下若干行處理不合法的命令(如果存在); 對于不合法的命令,請輸出一行X ERROR 其中X表示是第幾條命令; Example Input

8LIN 5RIN 6LIN 3LOUTROUTROUTROUTLIN 3

Example Output

37 ERROR

Hint

Author wanglin

#include <iostream>#include <algorithm>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <bits/stdc++.h>#include <stack>#include <deque>using namespace std;int main(){ int p1[10000]; int i=0; deque <int > p; char g[10]; int m; scanf("%d", &m); for(int a=1; a<=m; a++) { scanf("%s", g); if(strcmp(g, "LIN")==0) { int k; scanf("%d", &k); p.push_front(k); } else if(strcmp(g, "RIN")==0) { int k; scanf("%d", &k); p.push_back(k); } else if(strcmp(g, "ROUT")==0) { if(p.empty()) { p1[i++]=a; } else p.pop_back(); } else if(strcmp(g, "LOUT")==0) { if(p.empty()) { p1[i++]=a; } else p.pop_front(); } } int top=1; while(!p.empty()) { if(top)top=0; else printf(" "); printf("%d", p.front()); p.pop_front(); } printf("/n"); for(int a=0; a<i; a++) { printf("%d ERROR/n", p1[a]); } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 府谷县| 南昌县| 永川市| 陵川县| 绥江县| 吴川市| 乌拉特后旗| 阿克陶县| 平罗县| 德江县| 女性| 新源县| 靖西县| 盘锦市| 永济市| 尼玛县| 淅川县| 曲阳县| 仁布县| 长子县| 宣武区| 石林| 龙州县| 红原县| 哈巴河县| 库尔勒市| 平山县| 靖宇县| 正定县| 共和县| 阿鲁科尔沁旗| 郯城县| 社旗县| 油尖旺区| 富蕴县| 昌图县| 应用必备| 措勤县| 蒙山县| 晋宁县| 晴隆县|