一、数组
1.1 概念
数组是用来存储一组相同数据类型的数据的。
数组是构造类型。
数组中的每个数据称为数组的元素或者数组的成员。
数组的元素在内存上都是连续的。不管几维数组,都是连续的。
1.2 一维数组
1.2.1 概念
所谓的一维数组,就是下标只有一个的数组。
一维数组的元素在内存上是连续的。
1.2.2 定义一维数组的格式
存储类型 数据类型 数组名[下标];
存储类型:先不用管 不写默认的就是 auto
数据类型:就是数组中每个元素的类型
既可以是基本类型 也可以是构造类型(数组除外)
数组名 :是一个标识符 要符合标识符的命名规范
下标 :在定义数组时,下标必须是常量,表示告诉操作应该给这个数组分配多大 的内存空间
在其他场景下,既可以是常量,也可以是变量,也可以是表达式,
表示访问数组中的第几个元素
1.2.3 一维数组的性质
1.2.4 一维数组的初始化
1.2.5 关于数组越界访问的问题
二、冒泡排序
降序:从大到小
升序:从小到大
2.1 基本思想
相邻的两个元素之间进行比较,按照要求进行交换。
冒泡排序的时间复杂度是 O(n^2) 。
2.2 实现思路--以升序为例
第一排序:
第一个元素个第二个元素进行比较,将较大的放在第二个位置上,
然后第二个元素和第三个元素进行比较,将较大的元素放在第三个位置上
依次类推,直到第一趟排序结束,最大值就在最后一个位置上了。
第二趟排序:
第一个元素个第二个元素进行比较,将较大的放在第二个位置上,
然后第二个元素和第三个元素进行比较,将较大的元素放在第三个位置上
依次类推,直到第二趟排序结束,第二大的值就在倒数第二个位置上了。
依次类推,直到整个数据有序。
2.3 代码实现
三、二维数组
3.1 概念
所谓的二维数组,就是下标有两个的数组。
3.2 格式
存储类型 数据类型 数组名[行数][列数];
二维数组的元素在内存上也是连续的,
有了行号,相当于多了一种按行操作的方式。
二维数组的列数(列宽)是非常重要的,因为他决定了按行操作时的步长。
3.3 二维数组的性质
3.4 二维数组的初始化