总结
知识点
一、数组的定义
为了方便定义大量同种类型变量,我们使用数组,数组定义格式如下:
一维数组 类型标识符 数组名[常量表达式];
二维数组 类型标识符 数组名[常量表达式][常量表达式];
常量表达式表明数组元素个数。
二、数组的引用
定义好数组后我们可以引用任意一个元素。引用格式为:数组名[下标]
如果下标超出范围就会出现“下标越界的错误”。为此定义数组时常习惯于定义较大一点。
注:数组的下标由0开始到n-1结束。
三、数组的输入,输出
1.借助循环语句,对每个元素输入或赋值。
例:
int h[100],a[100];
for(int i = 0;i < 100 ; i++) cin>>h[i];
for(int i = 0;i < 100 ; i++) a[i]=h[i];
2.C++中提供的两中函数进行数组的整体赋值。
(1)memset函数
memset “按照字节”赋值,常用在char型数组,int 型数组常用于清零
使用memset函数前要有头文件#include< cstring >
memset(h,0,sizeof(h)),就是将数组h所有元素赋值0。
(2)fill函数
fill函数是将数组按照元素进行赋值。可以是部分连续元素也可以是所有元素
文件头#include< algorithm> 例如fill(a,a+10,5)。
数组的插入删除
插入元素,首先找到插入位置,将此位置元素及之后的元素往后移一位,再把要插入的元素覆盖在原来的位置上。
删除元素,首先找到删除的位置,将此位置之后的元素往前移一位,覆盖原来的元素。
查找统计
一维数组的查找就是在一维数组中查找有没有某个元素,使它的值等于一个指定的值。
常见的查找方法有“顺序”查找和“二分”查找。
应用举例:
//p5-4-1
#include<cstdio>
using namespace std;
int main(){
int n,i,mun,f,g[101];
scanf("%d",&n);
for(i = 1;i <= n;i++) scanf("%d",&g[i]);
scanf("%d",&mun);
f = 0;
for(i = 0; i <= n; i++)
if(g[i] == mun){
f = i;break;}
printf(