查看“︁03-进阶基础/01-数组”︁的源代码
←
03-进阶基础/01-数组
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== 一维数组 == 数组是一组'''相同类型'''的变量,可以通过下标访问。 === 定义数组 === <syntaxhighlight lang="cpp"> int a[100]; // 定义 100 个 int 变量:a[0] ~ a[99] int b[100] = {0}; // 定义并全部初始化为 0 int c[] = {1, 2, 3, 4, 5}; // 自动推断大小 </syntaxhighlight> === 访问数组 === 通过下标(从 <math>0</math> 开始)访问数组元素: <syntaxhighlight lang="cpp"> a[0] = 1; cout << a[0]; </syntaxhighlight> === 数组越界 === 访问的下标必须在定义范围内。例如 <code>int a[100];</code> 只能访问 <code>a[0]</code> 到 <code>a[99]</code>。 越界访问会导致不可预期的结果(RE / WA),是非常常见的错误。 === 数组遍历 === <syntaxhighlight lang="cpp"> // 使用范围 for(C++11 起) for (int x : a) cout << x << " "; // 使用下标遍历 for (int i = 0; i < n; i++) cout << a[i] << " "; </syntaxhighlight> === 权值数组(计数数组) === 用数组下标表示值,数组值表示出现次数: <syntaxhighlight lang="cpp"> int cnt[1005] = {0}; for (int i = 1; i <= n; i++) { int x; cin >> x; cnt[x]++; // x 出现了,计数加一 } </syntaxhighlight> 常用于:统计出现次数、桶排序、判断是否出现过。 === 数组初始化的注意事项 === - 定义在'''全局'''(所有函数外面)的数组会自动初始化为 <math>0</math> - 定义在'''局部'''(函数内部)的数组如果是 <code>int a[100];</code> 则为随机值 == 多维数组 == === 二维数组 === <syntaxhighlight lang="cpp"> int a[100][100]; // 100 行 100 列的二维数组 int b[3][4] = { // 定义并初始化 {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12} }; </syntaxhighlight> 访问:<code>a[i][j]</code>,其中 <math>i</math> 为行号,<math>j</math> 为列号。 <syntaxhighlight lang="cpp"> // 二维数组遍历 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) cout << a[i][j] << " "; cout << "\n"; } </syntaxhighlight> === 三维及更高维 === <syntaxhighlight lang="cpp"> int a[10][10][10]; // 三维数组 </syntaxhighlight> [[Category:进阶基础]] [[Category:三三文档]]
返回
03-进阶基础/01-数组
。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息