C++入门——60s从0到1
二维数组
当我们需要在一个二维的数据结构中存储和处理数据时,二维数组是一个非常有用的数据结构。在C++中,二维数组是一种常用的数据结构,可以用来存储和处理二维数据。
二维数组的定义
在C++中,二维数组可以通过以下方式定义:
dataType arrayName[rowSize][colSize];
其中,`dataType`是数组中元素的数据类型,`arrayName`是数组的名称,`rowSize`是二维数组的行数,`colSize`是二维数组的列数。例如,下面的代码定义了一个2行3列的整数数组:
int myArray[2][3];
初始化二维数组
在定义二维数组时,我们可以为数组中的每个元素赋予初值。这可以通过以下方式实现:
dataType arrayName[rowSize][colSize] = {
{value11, value12, ..., value1N},
{value21, value22, ..., value2N}
...
{valueM1, valueM2, ..., valueMN}
};
其中,`value11`到`value1N`是第一行的元素初值,`value21`到`value2N`是第二行的元素初值,以此类推。例如,下面的代码定义了一个2行3列的整数数组,并为它们赋予了初值:
int myArray[2][3] = {
{1, 2, 3},
{4, 5, 6}
};
访问二维数组
可以使用下标运算符`[]`来访问二维数组中的元素。例如,可以使用以下语法来访问二维数组中的元素:
arrayName[rowIndex][colIndex]
其中,`rowIndex`和`colIndex`分别表示行和列的索引。例如,下面的代码输出了二维数组中的第一行和第三列的元素:
std::cout << myArray[0][0] << " " << myArray[0][2] << std::endl; // 输出第一行第三列的元素
遍历二维数组
可以使用嵌套循环来遍历整个二维数组并执行操作。例如,下面的代码将遍历整个二维数组并执行操作:
for (int i = 0; i < rowSize; i++) {
for (int j = 0; j < colSize; j++) {
// 对每个元素执行操作
}
}
修改二维数组的操作
除了访问二维数组的元素外,我们还可以对二维数组进行各种操作,包括:
赋值:使用下标运算符为二维数组的每个元素赋值。例如,`myArray[i][j] = value;`将指定位置的元素赋值为value。
遍历:使用嵌套循环遍历整个二维数组并执行操作。例如,上面的示例代码将遍历整个二维数组并执行操作。
排序:使用排序算法对二维数组的行或列进行排序。例如,可以使用快速排序或冒泡排序等算法对二维数组的行或列进行排序。
查找:使用查找算法查找特定的元素或特定的值在二维数组中的位置。例如,可以使用线性查找或二分查找等算法来查找特定的元素或值。
修改:使用下标运算符对二维数组的每个元素进行修改。例如,`myArray[i][j]++;`将指定位置的元素加1。
示例代码介绍
下面是一个简单的示例代码,演示了如何定义、初始化、访问和修改二维数组:
#include <iostream> using namespace std; int main() { // 定义一个包含2行3列的整数数组并初始化赋值 int myArray[2][3] = {{1, 2, 3}, {4, 5, 6}}; // 输出二维数组的每个元素(按行列) for (int i = 0; i < rowSize; i++) { // 遍历行索引从0到1(即第一行和第二行) for (int j = 0; j < colSize; j++) { // 遍历列索引从0到2(即第一列到第三列) cout << myArray[i][j] << " "; // 输出当前元素的值并添加一个空格作为分隔符(仅输出行索引为0和1的元素的值) } // 在每行的末尾不添加换行符(仅输出到一行结束) cout << endl; // 在每行的末尾添加一个换行符(输出下一行的内容) } // 在程序结束前不需要添加换行符(仅输出最后一行之后结束程序) // 修改第一个元素的值并输出修改后的结果(仅输出第一行的三个元素的值) myArray[0][0] += 10; // 将第一个元素的值加10变为11输出结果为: 11 3 4 (第二行为原来的内容不变) 或者原来的内容为: 1 2 3 4 5 现在为: 11 3 4 5 6 或者原来的内容为: 4 5 6 7 8 现在为: 14 5 6 7 8