一、知识点
1.一维数组
格式:类型标识符 数组名[常量表达式]
(类型标识符可以是任何基本数据类型)
引用格式:数组名[下标]
(下标的值必须在数组定义的下标范围内,否则出现下标越界错误)
2.一维数组的输入输出
输入方法:
①键盘读入
int h[100];
for(i=0;i<100;i++) cin>>h[i];
②直接赋值
int h[100],a[20];
for(i=0;i<100;i++) h[i]=0;
for(i=0;i<20;i++) a[i]=i*2+1;
(C++里还提供了两个函数给数组整体赋值
⑴memset函数(一般只用零的情况)
给数组"按字节"赋值,一般用在char型数组中,如果是int类型的数组,一般赋值为0和-1,使用前需要包含头文件:#include<cstring>
如:“memset(h,0sizeof(h));”就是将h数组所有元素均赋值为0
h为占据的字节数
⑵fill函数
给数组“按元素”进行赋值,可以是整个数组,也可以是部分连续元素,可以赋任意值,使用前需要包含头文件:#include<algorithm>
如:“fill(a,a+10,5);”就是将a数组的前十个元素赋值为5
⑶另外C++还支持在定义数组的同时,给所有或部分元素赋值,如:
int a[10]={0,1,2,3,4,5,6,7,8,9};
int a[10]={0,1,2,3,4};//部分赋初值,后面的元素自动初始化为零
int a[ ]={1,2,3,4,5};不定义数组长度,直接根据赋值个数定
(对数组的操作只能逐个引用单个元素,所以,一维数组的输入输出都是采用循环语句结合下标变化逐个元素进行)
3.一维数组的插入删除
4.一维数组的查找统计
⑴顺序查找
⑵二分查找
5.一维数组的元素排序
⑴选择排序
for(i=0;i<n;i++) cin>> a[i];
for(j=0;j<n-1;j++)
{ l=j;
for(i=1;i<n;i++)
if(a[l]<a[i])
l=I;
if(l!=j) i=a[l],a[l]=a[j],a[j]=i;
⑵插入排序