C++ 4维数组
数组
数组是一种数据结构,在其中按线性顺序存储数据或值,并以连续的方式分配内存给这些值。在数组中,存储的值的数据类型应该相同。
示例:
arr = [1,2,3,4,6] 是整数数组,其中元素的数量为五个,它是一个一维数组。
我们可以在C或C++中创建一维数组、二维数组或多维数组。
二维数组只是多个一维数组在另一个方向上连接而成。
所以二维数组通常是以矩阵或网格的形式存在的。
示例:
arr =[ [1 2 3 4]
[5 6 7 8]
[9 10 11 12]
[13 14 15 16] ]
这是一个4X4的二维整数数组的例子,数组中元素的数量为16。
示例:
三维数组是在第三个方向上的一系列或一组二维数组。它们通常被称为立方体或长方体。
示例:
arr=[ [[1 2] [3 4]]
[[5 6] [7 8]]
[[9 10] [11 12]]]
这是一个2x2x3的三维整数数组的例子,其中元素的数量为12,可以通过将维度相乘轻松计算得到。(2x2x3 = 12)。
如果我们谈论四维数组,那么我们可以将它们视为在第四个方向连接的三维数组。
对于四维数组,一般的语法应该是:
数据类型 数组名[element1][element2][element3][element4];
示例:
int arr[4][5][1][6];
在上面的示例中,初始化了一个4维数组,元素的总数为4x5x1x6,即120个。
4维数组过于复杂且难以可视化。
C示例
#include
int main() {
int d1,d2,d3,d4;
// declaring the size of the array
int arr[2][2][2][2];
int len=2;
arr[0][0][0][0]=1;
arr[0][0][0][1]=2;
arr[0][0][1][0]=3;
arr[0][0][1][1]=4;
arr[0][1][0][0]=5;
arr[0][1][0][1]=6;
arr[0][1][1][0]=7;
arr[0][1][1][1]=8;
arr[1][0][0][0]=9;
arr[1][0][0][1]=10;
arr[1][0][1][0]=11;
arr[1][0][1][1]=12;
arr[1][1][0][0]=13;
arr[1][1][0][1]=14;
arr[1][1][1][0]=15;
arr[1][1][1][1]=16;
for(int d1=0;d1<2;d1++){
for(int d2=0;d2<2;d2++){
for(int d3=0;d3<2;d3++){
for(int d4=0;d4<2;d4++){
printf("%d\n",arr[d1][d2][d3][d4]);
}
}
}
}
}
输出:
C++ 示例
#include
using namespace std;
int main() {
int d1,d2,d3,d4;
// declaring the size of the array
int arr[2][2][2][2];
int len=2;
arr[0][0][0][0]=1;
arr[0][0][0][1]=2;
arr[0][0][1][0]=3;
arr[0][0][1][1]=4;
arr[0][1][0][0]=5;
arr[0][1][0][1]=6;
arr[0][1][1][0]=7;
arr[0][1][1][1]=8;
arr[1][0][0][0]=9;
arr[1][0][0][1]=10;
arr[1][0][1][0]=11;
arr[1][0][1][1]=12;
arr[1][1][0][0]=13;
arr[1][1][0][1]=14;
arr[1][1][1][0]=15;
arr[1][1][1][1]=16;
for(int d1=0;d1<2;d1++){
for(int d2=0;d2<2;d2++){
for(int d3=0;d3<2;d3++){
for(int d4=0;d4<2;d4++){
cout<
输出:
确定数组的长度
如果我们想要获得数组中元素的总数,我们可以使用 ‘sizeof’ 运算符,它给出变量所使用的总字节数,并通过单个变量使用的字节数进行除法运算。
示例:
在上面的4维数组示例中,我们有16个元素。我们知道,一个整数变量占用4个字节的内存,所以整个数组肯定占用16×4,即64字节的内存。
总元素数 = 总数组大小(以字节为单位)/ 单个元素大小(以字节为单位)
C示例
#include
int main() {
int d1,d2,d3,d4;
// declaring the size of the array
int arr[2][2][2][2];
int len=2;
arr[0][0][0][0]=1;
arr[0][0][0][1]=2;
arr[0][0][1][0]=3;
arr[0][0][1][1]=4;
arr[0][1][0][0]=5;
arr[0][1][0][1]=6;
arr[0][1][1][0]=7;
arr[0][1][1][1]=8;
arr[1][0][0][0]=9;
arr[1][0][0][1]=10;
arr[1][0][1][0]=11;
arr[1][0][1][1]=12;
arr[1][1][0][0]=13;
arr[1][1][0][1]=14;
arr[1][1][1][0]=15;
arr[1][1][1][1]=16;
for(int d1=0;d1<2;d1++){
for(int d2=0;d2<2;d2++){
for(int d3=0;d3<2;d3++){
for(int d4=0;d4<2;d4++){
printf("%d\n",arr[d1][d2][d3][d4]);
}
}
}
}
int array_size=sizeof(arr)/sizeof(arr[0][0][0][0]);
printf("total number of elements in the given array are %d",array_size);
return 0;
}
输出:
C++示例
#include
using namespace std;
int main() {
int d1,d2,d3,d4;
// declaring the size of the array
int arr[2][2][2][2];
int len=2;
arr[0][0][0][0]=1;
arr[0][0][0][1]=2;
arr[0][0][1][0]=3;
arr[0][0][1][1]=4;
arr[0][1][0][0]=5;
arr[0][1][0][1]=6;
arr[0][1][1][0]=7;
arr[0][1][1][1]=8;
arr[1][0][0][0]=9;
arr[1][0][0][1]=10;
arr[1][0][1][0]=11;
arr[1][0][1][1]=12;
arr[1][1][0][0]=13;
arr[1][1][0][1]=14;
arr[1][1][1][0]=15;
arr[1][1][1][1]=16;
for(int d1=0;d1<2;d1++){
for(int d2=0;d2<2;d2++){
for(int d3=0;d3<2;d3++){
for(int d4=0;d4<2;d4++){
cout<
输出:
一般来说,一个数组可以有许多维度,一个n维数组可以表示如下:
012n-1
其中d1,d2….dn-1是第n维度的元素数量。要计算n维数组中元素的数量,我们可以使用以下公式:
012n-1
在一般情况下,我们主要使用1维、2维和3维数组,但在现实生活中,如果我们将任何问题描述,它可能具有许多维度。