一维数组的笔记

root 站长 2019-03-30 9:26:50 2021-08-01 9:46:37 7

1、 一维数组的基本概念

(1)含义:一维数组是用来表达类型相同的元素的集合,集合的名字就是数组名。    
(2)定义:一维数组的声明方法如下:   
类型名 数组名[元素个数];     
其中“元素个数”必须是常量或常量表达式,不能是变量,而且其值必须是正整数。
(3)下标:数组里的每个元素都有编号,元素的编号叫下标。通过数组名和下标,就能访问元素。 
(4)大小: 数组元素是连续存放的,所以 a数组占用大小总共为 n × sizeof(数组类型)个字节。(数组大小也可以用 sizeof(a)计算)
(5)注意:数组的下标是从0开始,一般下标为0的元素不使用,所以定义数组要用到小尾巴(声明数组比规定的数组个数多几个元素);

2、数组的输入

for(int i=1; i<=n; i++)  //n表示元素个数
{
    cin >> a[i];
}

3、数组的输出

//如果要顺序输出,for循环从1到n;
for(int i=1; i<=n; i++)
{
    cout << a[i] << " ";
}
//如果要逆序输出,for循环从n到1;
for(int i=n; i>=1; i--)
{
   cout << a[i] << " ";
}

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

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

5、线性搜索

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

共 3 条回复

CPP 刷题王
txz 一打七

!!!!

root 站长

找最大/小值及其出现的位置源代码

#include <iostream>

using namespace std;

int main()
{

	int a[100],x,ans=0,n;
	cin >> n;
	for(int i=1; i<=n; i++)
	{
		cin >> a[i];
	}
	int maxm = a[1],minm = a[1];
	int maxi=1,mini=1;//maxi表示最大值第一次出现的位置,mini表示最小值第一次出现的位置 
	
	
	for(int i=1; i<=n; i++)
	{
		if(a[i] < minm)         //最后一次出现的位置只需要小于等于即可
		{
			minm = a[i];
			mini = i; 
		}
		if(a[i] > maxm)
		{
			maxm = a[i];
			maxi = i;
		}
	}
	cout << maxi;
	return 0;
}