如何在二维数组里增加元素

如何在二维数组里增加元素,第1张

你这个arr={{1,2,3}...}是不是应该写成arr=[[1,2,3]....]如果只是单纯向arr[0]中添加数字var arr=[[1,2,3],[1,2]]function add(){ arr[0].push(4)alert(arr[0])}add()

int[,] queue = new int[0, 0]这个初始化0行0列 不能添加数据

int[,] queue = new int[x, y]---x是行个数---y是列个数

两种方式:

一 使用for循环

如 int DestArray[y][x]//目的数组

int SrcArray[y][x]//源数组

for(int i=0i<yi++)

{

for(int j=0j<xj++)

{

DestArray[i][j] = SrcArray[i][j]

}

}

二 使用内存 *** 作函数来提高效率

二维数组初始化,将DestArray全部置为零

int DestArray[y][x]

for(int i=0i<yi++)

{

memset(DestArray[i], 0, sizeof(int)*x)

}

这种方法效率更高。

还有将memset改为 memcpy 复制已有的数组。

int DestArray[y][x]//目的数组

int SrcArray[y][x]//源数组

for(int i=0i<yi++)

{

memcpy(DestArray, SrcArray, sizeof(int)*x)

}

以上两个例子都是考虑了二维数组时动态生成时的情况

因为内存不连续,需要用for循环来对每个块的内存赋值

假如是程序源码中已定义大小且连续的内存,可以不需要for循环直接调用这两个函数,例如:

int DestArray[100][100]

int SrcArray[100][100]

memcpy(DestArray, SrcArray, sizeof(int)*100*100)

memset(DestArray, 0, sizeof(int)*100*100)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/bake/11240803.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存