数组
基本概念
相同类型有限元素的集合。
分类:
一维数组:a[ ];
二维数组:a[ ] [ ];
多维数组:a[ ] [ ] [ ]……;
一维整型数组
数组的定义
数据类型 数组名 [元素的个数] ;
int a [ ];
注意:元素个数不能为变量,或变量表达式,因为仅在定义时,不能为变量,因为要分配内存空间大小。
数组元素的访问
数组名 [ 元素下标 ];
a [ 0];访问第一个元素。
注意:元素下标为0—-元素个数-1,如果使用了a[元素个数],是错误的,发生了越界访问。
数组元素的初始化:
注意:初始化!=赋值
1.全部初始化:int a[ 5 ] = {1,2,3,4,5};
2.局部初始化:int a[ 5 ] = {1,2,3}; 未给定初值的元素,会初始化为0,
3.默认初始化:int a[ ] = {1,2,3,4,5}; 未给定元素个数,元素个数由后面的赋值数量决定。
数组的存储
1.空间大小:每个元素所占空间大小 * 元素个数
求获得数组元素个数大小: len = sizeof(a) / sizeof(a[ 0 ]);
2.存储特性:
1.连续性:数组存放元素空间连续
2.有序性:存放元素的顺序有序
3.单一性:数组元素类型一致
从终端接受数据(数组)
代码如下
通过循环遍历对每个元素进行赋值
int a[5] = {0};
int i = 0;
for(i = 0; i < len;i++)
{
scanf("%d",&a[i]);
}
数组中常见的算法操作
1.获取数组元素的最大/最小值及其下标
求下标

2.数组元素的逆序排列

3.冒泡排序
冒泡排序是一种简单的交换排序算法。它重复地遍历待排序的列表,比较相邻的元素,如果顺序错误就交换它们。每一轮遍历会将当前未排序部分的最大元素“冒泡”到正确位置。
算法步骤

4.选择排序
选择排序是一种基于比较的排序算法,每次从未排序部分选择最小(或最大)的元素,放到已排序部分的末尾。
算法步骤



