数组基础
1.数组定义
类型说明符 数组名[常量];
类型说明符:基本数据类型、构造数据类型(不能说void类型)。说明数组中保存的数据的数据类型
数组名:遵循标识符的命名规则
[常量]:数组中可以保存的元素的个数
2.数组元素的访问
数组名[下标];
[ ]:下标运算符
下标:代表要访问数组中的第几个元素(0到元素个数减一)
常量、变量、表达式(结果都应该是整型)
注意:
1数组元素访问时,下标从0开始到元素个数减一,超出该范围,造成数组越界访问
2.数组名代表了数组这种类型,不能给数组名直接赋值
3.数组初始化
如果不初始化,数组默认存放随机值
全部初始化
int a[10] = {0,1,2,3,4,5,6,7,8,9};
局部初始化
int a[10] = {1,2,3,4,5};
已初始化部按照初始化数据存储,未初始化部分按0存储
初始化为全0
int a[10] = {0,0,0,0,0,0,0,0,0,0};
int a[10] = {0};
4.数组的存储形式
单一性:数组中的元素,每个元素数据类型都是一致的
有序性:数组中的元素按照a[0]-a[n]的顺序进行存储
连续性:数组在内存中选取连续内存空间存储
数组越界:
1.初始化数组时,初始化的元素个数超出了数组本身的素个数
2.访问数组元素时,[ ]的下标超出了数组元素的访问范围
5.数组排序
升序、降序
选择排序**
思想:将待排位置的数据和后面的数据依次进行比较,按照升序要求,将较小值存储在待排位置
时间复杂度(效率):O(n^2)
空间复杂度(空间/内存):O(1)
排序算法的稳定性:在一个待排序列中出现了两个相同的数据,经过排序后,这两个相同数据的相对位置没有发生变化,则该排序算法为稳定的排序算法;假如这两个相同数据的相对位置发生了变化,则该排序算法是不稳定的排序算法
选择排序:不稳定

冒泡排序**
思想:相邻两两数据进行比较,按照升序要求将较大值交换到两两中的后者位置,经过一趟排序,优先确定最大值
时间复杂度:O(n^2)
空间复杂度:O(1)
稳定性:稳定

插入排序
二分查找(折半查找)
前提条件:序列必须有序
思想:将要查找的值和序列的中间位置比较,比中间位置大,则在后半序列中继续折半;如果比中间值小,则从前半个序列中继续折半,如果恰好相等;则找到
优势:效率高 时间复杂度—》O(logn)


834

被折叠的 条评论
为什么被折叠?



