一维数组

root 站长 2019-10-27 13:38:34 2019-11-10 13:19:46 15

1、概念 用来表达类型相同的元素的集合,集合的名字就是数组名。

*2、定义(声明)

类型名 数组名[元素个数];
注: 元素个数必须是常量或者为常量表达式,不能是变量,其值必须是正整数。

*3、下标 数组中每个元素都有编号,这个编号就是下标。通过数组名和下标可以访问元素。

4、内存大小
数组元素都是连续存放的,所以数组 a 占用内存大小为 n * sizeof(数组类型)个字节, 当然也可以直接 sizeof(a) 来计算。

*5、下标问题,数组的下标是从 0 开始,但是我们一般是从 1 开始,因此我们在开数组的时候要多开 10 个。

** 6、数组基本操作

(1)输入 n 个元素到 a 数组中

for (int i = 1; i <= n; i ++)
    cin >> a[i];

(2) 输出 n 个元素到屏幕上,空格隔开

for(int i = 1; i <= n; i ++ )  //顺序
    cout << a[i] << ' ';

(3) 逆序输出 n 个元素到屏幕上,空格隔开

for (int i = n; i > = 1; i --) //逆序 
    cout << a[i] << ' ';

(4) 数组元素累加求和

for (int i = 1; i <= n; i ++)
    sum += a[i];

(5) 线性搜索

//从下标1开始到n结束,使用if判断出符合题意那就累计(输出)。
for(int i = 1; i <= n; i++)
{
    if(a[i] == key) //如果a[i] 等于 key 就执行if语句里面的信息
    {
}

}

4、最大值和最小值及其第一次出现的位置

	int maxm = a[1],minm = a[1];
	int maxi=1,mini=1;//maxi表示最大值第一次出现的位置,mini表示最小值第一次出现的位置 
for(int i=1; i&lt;=n; i++)
{
	if(a[i] &lt; minm)         //最后一次出现的位置只需要小于等于即可
	{
		minm = a[i];
		mini = i; 
	}
	if(a[i] &gt; maxm)
	{
		maxm = a[i];
		maxi = i;
	}
}

5、sort 排序

* 包含头文件<algorithm>

调用sort,一般在数据输入完成后再排序,代码如下。

sort(a+1,a+1+n);//a+1表示从a[1]开始排序,到a+1+n表示到a[n]结束
{{ vote && vote.total.up }}

共 4 条回复

jxy11

69

yjh

6

yjh
nnn

都要记?