程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 數據結構實驗之隊列一:排隊買飯

數據結構實驗之隊列一:排隊買飯

編輯:C++入門知識

數據結構實驗之隊列一:排隊買飯


數據結構實驗之隊列一:排隊買飯

Time Limit: 1000ms Memory limit: 65536K 有疑問?點這裡^_^

題目描述

中午買飯的人特多,食堂真是太擁擠了,買個飯費勁,理工大的小孩還是很聰明的,直接奔政通超市,哈哈,確實,政通超市裡面也賣飯,有好幾種菜,做的比食堂好吃多了,價格也不比食堂貴,並且買菜就送豆漿,吸引了不少童鞋。所以有時吧,人還是很多的,排隊是免不了的,悲劇的是超市只有兩個收銀窗口。

問題是這樣的:開始有兩隊人在排隊,現在咱們只研究第一隊,現在我們給每個人一個編號,保證編號各不相同,排在前面的人買完飯就走了,有些人挑完飯就排在後面等待付款,還有一些人比較聰明,看到另一個隊人比較少,直接離開這個隊到另一個隊去了。我要問的是隊的總人數和某個位置上人的編號。



輸入

首先輸入一個整數m(m<10000),代表當前有m個人,第二行輸入m個數,代表每個人的編號,第三行輸入一個整數n(n<10000),代表隊列變動和詢問一共n次,以後n行,JOIN X表示編號為X(保證與以前的編號不同)的人加入;LEAVE Y表示第Y(Y小於當前隊列長度)個位置 上的人離隊 ;ASK Z(Z小於當前隊列長度)表示詢問第Z個位置上的人的編號;FINISH D表示有D個人買完飯離開了;LENGTH表示詢問隊列的長度 。保證所有數據在int 范圍內.

輸出

對每個詢問輸出相應的答案,每個答案占一行。

示例輸入

3
1 2 3
6
JOIN 4
ASK 2
LEAVE 2
LENGTH
FINISH 2
LENGTH

示例輸出

2
3
1

提示


來源

ma6174

示例程序

本來想用STL寫 但是咋也沒寫出來 sad~感覺不好控制 只好用常規數組模擬了


#include 
#include 
#include 
int main()
{

    int T,n,m,i;
    int a[10010];
    char str[10];
    scanf("%d",&T);
    for(i=1;i<=T;i++)
        scanf("%d",&a[i]);
    scanf("%d",&n);
    while(n--)
    {
        scanf("%s",str);
        if(strcmp(str,"JOIN")==0)
        {
            i++;
            scanf("%d",&a[i]);
            T++;
        }
        else if(strcmp(str,"LEAVE")==0)
        {
            scanf("%d",&m);
            for(i=m;i



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved