BUPT复试专题—List

Posted Donser

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUPT复试专题—List相关的知识,希望对你有一定的参考价值。

题目描述

在该LIST上实现3种操作

         1、append x在该LIST末尾添加x,x是32位整数

         2、pop删除该LIST末尾的数

         3、find i寻找第i个数,若i为负数表示寻找倒数第i个数,例如i = -1表示寻找倒数第一个

输入

首先一个数t表示以下有t个m

第一行输入一个m,表示有m条操作,接下来每行输入一条操作

 

输出

当输入find i时输出找到的数

样例输入

2 
5 
append 1 
append 2 
find 1 
find -1 
pop 
6 
append 1 
append 2 
append 3 
append 4 
find -2 
find 2

样例输出

1
2
3
2

来源

2015机考B题 

#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
using namespace std;
int main()
{
    int num=0;
    scanf("%d",&num);
    while(num--)
    {
        int m,strnum=0;
        scanf("%d",&m);
        while(m--)
        {
            string temp,num1,num;
            char str[100];
            cin>>temp;
            if(temp[0]!=p)
                cin>>num1;
            if(temp[0]==a)//append
            {
                str[strnum]=num1[0];
                strnum++;
            }
            else if(temp[0]==f)//find
            {
                int x=num1[0]-48;
                if(x<0)
                {
                    x=num1[1]-48;
                    x=strnum-x+1;
                }
                cout<<str[x-1]<<endl;
            }
            else if(temp[0]==p)//pop
            {
                strnum--;
            }
        }
    }
    return 0;
}

 

以上是关于BUPT复试专题—List的主要内容,如果未能解决你的问题,请参考以下文章

BUPT复试专题—图像压缩存储

BUPT复试专题—分数加法

BUPT复试专题—树查找

BUPT复试专题—找K小数

BUPT复试专题—众数(2014)

BUPT复试专题—比较奇偶数