数组
数组 是一种把相同类型的元素存储在连续的一片内存中的组织形式。组织形式示意图如下图所示
上述数组在C语言中的定义如下
int a[6] = { 200, 300, 400, 500, 600, 700 };
数组通过索引进行来对数组中元素进行访问。由于数组的存储内存空间是连续的,因此索引和内存地址之间是一一对应的关系,可以通过数组首地址 + 索引 * 元素大小的方式获取到索引对应的元素所在的地址内容。
因此,C语言中数组的访问方式如下
a[0] // 访问第1个元素
a[2] // 访问第3个元素
a + sizeof(int) * 2 // 获取到第3个元素所在内存空间地址。
数组有分为:
- 一维数组
- 二维数组
- 三维数组
- …
- N维数组
常用的是一维数组和二维数组
Leetcode中数组相关题目
题目 | 答案 | 难度 |
---|---|---|
867. 转置矩阵 | Leetcode 867 - 转置矩阵 | 简单 |
链表
栈
队列
字符串
题目 | 答案 | 难度 |
---|---|---|
1370. 上升下降字符串 | Leetcode 1370 - 上升下降字符串 | 简单 |
二叉树
题目 | 答案 | 难度 |
---|---|---|
110. 平衡二叉树 | Leetcode 110 - 平衡二叉树 | 简单 |
哈希
动态规划
题目 | 答案 | 难度 |
---|---|---|
1024. 视频拼接 | Leetcode 1024 - 视频拼接 | 中等 |