Generation

generate functionFri, 08 Mar 2024

在第一个版本中,当数组中元素增加或者减少时,我们需要不断的申请内存,进行内存空间数据的拷贝,为减少内存的申请次数,在类成员中增加一个容量成员,第一次申请内存空间时,申请的空间数量比要求的多,多出的部分作为战备池。例如,当我们需要申请5个元素的空间时,我们按照两倍的方式来做,即第一次申请能容纳10个元素的空间,多出来的5个元素空间为战备池,当增加元素且战备池有空间时,不需要进行内存申请;当战备池用完时,才需要进行扩容。 请根据上述内容编写代码,并根据类的定义实现对应的成员函数。在主函数中调用通过测试用例。 【输入形式】 第一行输入初始需要申请的数组元素个数和初始值,例如输入10 0,则数组中申请20个元素的空间,前10个值都为0; 第二行输入待插入元素的位置与插入元素的值。例如输入0 5;则数组中下标为0的元素为0,下标为1的元素为新插入的元素5 【输出形式】 第一行输出在插入元素前的数组中各元素; 第二行输出插入元素后,数组中各元素; 从第三行输出调用push_back方法后的元素个数与容量值,中间用空格隔开; 第四行输出当前数组中各元素。 【样例输入】 10 0 1 5 【样例输出】 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 31 40 0 0 5 0 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

nclude <iostream> #include <vector> #include <algorithm> using namespace std; class MyVector { public: MyVector() { data = new int[10]; } ~MyVector() { delete[] data; } void push_back(int x) { data[x] = x; } int pop_back() { int x = data[data.size() -

Questions about programming?Chat with your personal AI assistant