怎样把二维数组转化成一维数组

怎样把二维数组转化成一维数组,第1张

c#的代码
static void Main(string[] args)
{
string[,] str2s = new string[,] { { "a", "b", "c" }, { "d", "e", "f" } };
int iw = str2sGetLength(0);//第一维度长度
int jw = str2sGetLength(1);//第二维度长度
int _count=0;
string[] arrs = new string[iw jw];//声明一个一维数组,并根据二维数组设置长度
for (int i = 0; i < iw; i++)
{
for (int j = 0; j < jw; j++)
{
arrs[_count++] = str2s[i, j];
}
}
for (int i = 0; i < arrsLength; i++)
{
ConsoleWrite(arrs[i]);//结果输出为 abcdef
}
}

元素赋值
遍历一维数组,并将每个元素赋值到二维数组的对应元素上。
或者遍历二维数组,将每个元素赋值为一维数组对应值上。
优点为 *** 作灵活,可以按照需要任意赋值。
2 当一维数组和二维数组类型相同,而且赋值顺序与一维数组中的存储顺序完全相同时,可以用memcpy的方式,直接一次性赋值。
如一维数组为a,二维数组为b,基础类型为TYPE,需赋值元素个数为n,可以调用
memcpy(b,a,sizeof(TYPE)n);
该方法有点为 *** 作简单,执行效率高。
不过所需满足的前提条件多。在满足上述所有条件时,用memcpy的方式更为简单。

个就是apply的一个巧妙的用处,可以将一个数组默认的转换为一个参数列表([param1,param2,param3] 转换为 param1,param2,param3) 这个如果让我们用程序来实现将数组的每一个项,来装换为参数的列表。

先定义一个动态数组
dim a() as integer
再定义二维数组
m=inputbox("二维数组有几行")
n=inputbox("二维数组有几列")
redim a(1 to m, 1 to n)
然后赋值
转变为一维数组:
redim a(mn) as integer
for j = 1 to m
for k= 1 to n
a((j-1)n+k) = a(j, k)
next k
next j
不确定对不对……你试一下看看是不是可以帮到你

这个普遍采用遍历的方式,如果是php的话,直接一个foreach($arr as $val){}就可以将一个二维数组$arr 变成一个一维数组。当然其他编程语言,我感觉都是想通的,也可以采用如此的方式,实在不行就用for循环,直接将值取出,然后重新放到一个数组里面,这样子也可以变成一个一维数组。

很简单啊
首先知道二维数组的 行列数
计算出 元素个数
然后声明个 同样元素个数的 一维数组
然后 依次赋值
就OK了
1 2 3 4 5 6 Press any key to continue
#include <stdioh>
main()
{
int i,j,k=0,arry[2][3] ={{1,2,3},{4,5,6}};
int single[6]={0};
for (i=0;i<2;i++)
for (j=0;j<3;j++)
single[k++] =arry[i][j];
for (i=0;i<6;i++)
printf("%d ",single[i]);
}

:一维转二维。
MsgBox
arr1(2,
1)
‘转换后的数组是1列多行的二维数组
End
Sub
2、二维数组转一维。
arr3
=
Applicationtranspose(ApplicationIndex(arr2,
,
2))
'取得arr2第2列数据并转置成1维数组
MsgBox
arr3(2,)


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

原文地址: http://outofmemory.cn/yw/13406256.html

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

发表评论

登录后才能评论

评论列表(0条)

保存