问题描述
我正在弄乱数组,并试图找到对数据执行操作的有效方法。
在末尾添加值很容易,但是将数据移到一个或多个索引上有缺点。我可能会创建一个具有足够空间的新数组,并从移位后的索引开始复制数据,然后删除原始数据并交换指针,但我相信这种方法会降低内存效率。
我最终在数组本身上使用memcpy()失败了,假设其中有空间可以移动,并且效果很好,但是我担心这样做不合适,或者如果我只是不自觉地做同样的事情
我的代码如下
const int size = 25,buffer = 25;
int num[size+buffer]{};
initialize(num,size);
cout << "Values:" << endl;
print(num,size+buffer);
cout << endl << endl;
memcpy( &(num[size]),num,sizeof(int) * size );
cout << "Values:" << endl;
print(num,size + buffer);
cout << endl << endl;
initialize是从文件分配值的函数,它是一个简单的for循环; 通过第二个打印功能,数组可保存值的两个副本。如果一切正常,我正在考虑将其转移为新值所需的数量,然后将其插入其中。看起来干净快捷,并且希望内存有效。
任何反馈,我将不胜感激。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)