👨💻个人主页:@开发者-削好皮的Pineapple!
👨💻 hello 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
👨💻 本文由 削好皮的Pineapple! 原创
👨💻 收录于专栏:C++程序设计
⭐前言⭐
本文将探讨如何利用C++的数组功能,有效地处理批量数据。数组作为C++中的重要数据结构,不仅可以存储大量数据,还能够通过简洁而强大的语法进行快速访问和操作。
🎶一、数组是什么?
(一)数组是什么?
数组:相同数据类型的集合,多个变量共同使用一个变量名称,并用下标加以区分。(数组是有序数据的集合)
(二)为什么要有数组?
- 如:现在需要存储全班同学的年龄,那么有n个同学,则需要定义n个变量,定义和管理都十分的麻烦。但是我们用数组只需要一行代码就可以定义完成。
//普通方式
int age1,age2,age3,age4,age5...age n;
//使用数组
int age[n];
🎶二、定义和引用一维数组
(一)定义一维数组
定义一维数组一般形式为:
类型名 数组名 [常量表达式] ;
int a[10];
数组为整型,数组名为a,有10个元素。
说明:
(1)数组名定名规则和变量名相同,遵循标识符定名规则。
(2)用方括号括起来的常量表达式表示下标值,如下面写法是合法的:
int a[10];
int a[2*5];
int a[n*2]; //假设前面已定义了n为常变量
(3)常量表达式的值表示元素的个数,即数组长度。例如,在“int a[10];”中,10表示a数组有10个元素,下标从0开始,这10个元素是a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a{[9]。注意最后一个元素是a[9]而不是a[10]。
(4)常量表达式中可以包括常量、常变量和符号常量,但不能包含变量。也就是说,不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过程中变量的值。例如,下面这样定义数组是不行的:
int n;
cin >>n;// 输入a数组的长度
int a[n];//试图根据n的值决定数组的长度
如果把第1,2行改为下一行就合法了。
const int n=5;
(二)引用一维数组的元素
数组必须先定义,然后使用。只能逐个引用数组元素的值,而不能一次性引用整个数组中的全部元素的值。
数组元素的表示形式为:(下标可以是整型常量或整型表达式)
数组名 [下标]
🌰:
定义一个整型数组a,把0~9共10个整数赋给数组元素a[0] ~ a[9],然后按照a[9]、a[8]、…a[0]的顺序输出。
#include<iostream>
using namespace std;
int main() {
int a[10];
for (int i = 0; i <= 9; i++) {
a[i] = i;
}
for (int i = 9; i >= 0; i--) {
cout << a[i] << "";
cout << endl;
}
return 0;
}
运行结果如图:
(三)一维数组的初始化
初始化有以下方法:
1.在定义数组时对全部数组元素赋予初值。
int a[10]={0,1,2,3,4,5,6,7,8,9};
2.可以只给一部分元素赋值。
int a[10]={0,1,2,3,4};
3.在对全部数组元素赋初值时,可以不指定数组长度。
int a[5]={1,2,3,4,5};//可以写成下面这种形式
int a[]={1,2,3,4,5};
(四)一维数组的运用
🌰:编写程序,用起泡法对10个数排序(由小到大)。
#include<iostream>
using namespace std;
int main() {
int a[11];
cout << "请输入10个数:" << endl;
for (int i = 1; i <= 10; i++) {
cin >> a[i];
}
for (int j = 1; j <= 9; j++) //9轮比较
for (int i = 1; i <= 10; i++)
if (a[i] > a[i + 1]) {
int t;
t = a[i];
a[i] = a[i + 1];
a[i + 1] = t;
}
cout << "冒泡排序后的结果" << endl;
for (int i = 1; i < 11; i++)
cout << a[i] << " ";
cout << endl;
return 0;
}
🎶三、定义和引用二维数组
(一)定义二维数组
定义二维数组的一般形式:
类型名 数组名[常量表达式][常量表达式]
例如:
float a[3][4],b[5][6];
(二)引用二维数组的元素
引用二维数组的一般形式:
数组名 [下标][下标]
数组元素是左值,可以出现在表达式中,也可以被赋值。
(三)二维数组的初始化
1.按行给二维数组全部元素赋值。
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
2.可以将所有的数据写在一个花括号内按数组排列的顺序对全部元素赋值。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
3.可以对部分元素赋值。
int a[3][4]={{1},{5},{9}};
4.如果对全部元素都赋值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省。
int a[3][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
可以写成:
int a[][4]={1,2,3,4,5,6,7,8,9,10,,11,12};
(四)二维的运用
🌰:将一个2乘3的二维数组a的行和列元素互换存到一个3乘2的二维数组B中。(写循环时要记得<=的是下标-1)
#include<iostream>
using namespace std;
int main()
{
int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2];
cout<<"这是a矩阵"<<endl;
for(int i=0;i<=1;i++)
{
for(int j=0;j<=2;j++){
cout<<a[i][j]<<" ";
b[j][i]=a[i][j];
}
cout<<endl;
}
cout<<"这是b矩阵"<<endl;
for(int i=0;i<=2;i++)
{
for(int j=0;j<=1;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}
return 0;
}
运行结果如图:
结束语🥇
以上就是C++程序设计
持续更新C++程序设计教程,欢迎大家订阅系列专栏🔥C++程序设计你们的支持!