1648_向量插入元素

2022-5-16 18:17| 发布者: Hocassian| 查看: 44| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-2-8950476827799-Problem List-采集的数据-后羿采集器.html

Pro.ID

1648

Title

向量插入元素

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=1648

AC

93

Submit

224

Ratio

41.52%

时间&空间限制

  • Time Limit: 40000/40000 MS (Java/Others)     Memory Limit: 262144/262144 K (Java/Others)
  • 描述

    定义向量数据结构如下:

    #define  MAX_SIZE  100000

    /// >节点基础数据类型

    typedef struct  Node {
         int id;        ///员工编号,唯一
         char  name[20];  /// 员工名字
    } mytype;


    /// 简陋定义方式,局限:只能定义一个vector

    mytype mydata[ MAX_SIZE ];   /// 向量元素存放的数组

    int _size;   /// 向量元素的实际个数


    对该向量执行K次插入一个元素的操作  int insert ( int r, mytype e ) :在秩r的位置插入元素e 。

    最后遍历输出该向量。

    本题不考虑向量的增容问题。

    输入

    建议:初始化向量为空。

    第一行是一个正整数K ( 1 < K < 100000 ) ,表示有K次插入操作。

    接下来是K行,每行是一个整数 r 和 一个整数id 和 一个字符串str ,分别表示插入的位置r 和 员工编号 和 员工姓名。

    0 ≤ r < 100000 。当 r 大于 _size 时,则把元素放在向量末尾 。

    员工姓名字符串str 不含空格、1 < |str| < 20 。

    输出

    Description

    定义向量数据结构如下:

    #define  MAX_SIZE  100000

    /// >节点基础数据类型

    typedef struct  Node {
         int id;        ///员工编号,唯一
         char  name[20];  /// 员工名字
    } mytype;


    /// 简陋定义方式,局限:只能定义一个vector

    mytype mydata[ MAX_SIZE ];   /// 向量元素存放的数组

    int _size;   /// 向量元素的实际个数


    对该向量执行K次插入一个元素的操作  int insert ( int r, mytype e ) :在秩r的位置插入元素e 。

    最后遍历输出该向量。

    本题不考虑向量的增容问题。

    Input

    建议:初始化向量为空。

    第一行是一个正整数K ( 1 < K < 100000 ) ,表示有K次插入操作。

    接下来是K行,每行是一个整数 r 和 一个整数id 和 一个字符串str ,分别表示插入的位置r 和 员工编号 和 员工姓名。

    0 ≤ r < 100000 。当 r 大于 _size 时,则把元素放在向量末尾 。

    员工姓名字符串str 不含空格、1 < |str| < 20 。

    Output

    以 秩 从0到 _size -1 的顺序输出向量,每行一个元素:先输出员工编号id,再输出员工名字。

    Sample Input

    5
    0 1 Tom
    0 2 Jack
    3 3 Alice
    1 4 Bob
    3 5 Apple

    Sample Output

    2 Jack
    4 Bob
    1 Tom
    5 Apple
    3 Alice

    Hint

    讨论:插入元素操作中,后移一个元素的消耗太大。当插入操作频繁时,总耗时很大。因此,题目的数据量不得不从一百万降低到十万。

    实验结果,一百万的数据量,加上执行一百万次的插入操作,可能需要十几到几十分钟。

    Source
    Author

    样例输入

    5
    0 1 Tom
    0 2 Jack
    3 3 Alice
    1 4 Bob
    3 5 Apple

    样例输出

    2 Jack
    4 Bob
    1 Tom
    5 Apple
    3 Alice

    提示

    讨论:插入元素操作中,后移一个元素的消耗太大。当插入操作频繁时,总耗时很大。因此,题目的数据量不得不从一百万降低到十万。

    实验结果,一百万的数据量,加上执行一百万次的插入操作,可能需要十几到几十分钟。

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部