首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C中复制二维数组的最快方法?

问在C中复制二维数组的最快方法?
EN

Stack Overflow用户
提问于 2020-08-26 23:26:54
回答 1查看 62关注 0票数 0

我必须编写一个程序来插入/删除二维数组中的字符串,并且能够尽可能快地执行撤消/重做指令。我在考虑为每个插入/删除指令创建一个二维数组,所以撤消基本上是将旧的二维数组复制回当前的二维数组。

例如,我当前的2d数组是:

"1:你好

2:世界“

然后我要求删除第2行,所以现在我当前的2d数组是:"1: Hello“

我想创建一个新的二维数组,它包含:

"1:你好

2:世界“

因此,如果我请求撤销,它会将"1: Hello 2:World“复制回当前的2d数组中。

代码语言:javascript
复制
struct node{char** Instruction2dArray;
        struct node* next;}
struct node* pointer;

i=0;
pointer->Instruction2dArray=malloc(max*sizeof(char*))  //max contains the number of written lines
while(CurrentArray[i][0]!='\0'){
        pointer->Instruction2dArray[i]=malloc((strlen(CurrentArray[i])+1)*sizeof(char));
        strcpy(pointer->Instruction2dArray[i],CurrentArray[i]);
        i++;
}

我写了这个简单的代码来复制当前数组,但我非常确定这是最慢的方法,我不知道如何更快地完成它。谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-08-27 14:07:39

因为你说过你想要更多的插入/删除操作,所以链表更可取。如果且仅当您需要更多随机访问时,最好使用2D字符串数组。

在我看来,链表对于插入/删除操作更优化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63600821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档