C++ 数组
2020-03-16 本文已影响0人
小潤澤
数组
数组就是一个集合,里面存放了想同类型的数据元素
特点:
1.数组中每一个元素都是相同的数据类型
2.数组由连续的内存位置组成
一维数组
定义方式:
1.数据类型 数组名[数组长度];
2.数据类型 数组名[数据长度] = {值1,值2........}
3.数据类型 数组名[ ] = { 值1,值2.....}
数组存储与访问如下:
我们看第一种定义方式
#include<iostream>
using namespace std;
int main(){
int arr[5]; //定数组arr
arr[0] = 10;
arr[1] = 20;
arr[2] = 30;
arr[3] = 40;
arr[4] = 50;
//访问数组元素
cout<< arr[0] <<end1;
cout<< arr[1] <<end1;
cout<< arr[2] <<end1;
cout<< arr[3] <<end1;
cout<< arr[4] <<end1;
system("pause");
return 0;
}
第二种定义方式:
#include<iostream>
using namespace std;
int main(){
int arr[5] = {10,20,30,40,50}; //定数组arr
//访问数组元素
for (int i = 0; i < 5; i++)
{
cout << arr[i] <<end1;
}
system("pause");
return 0;
}
这里注意了,如果arr[5] = { 10,20,30};
那么0会自动填充剩下的元素
接下来是第三种定义方式
#include<iostream>
using namespace std;
int main(){
int arr[ ] = {10,20,30,40,50,60,70,80,90}; //定数组arr
//访问数组元素
for (int i = 0; i < 9; i++)
{
cout << arr[i] <<end1;
}
system("pause");
return 0;
}
另外附上一个小练习:冒泡排序
#include<iostream>
using namespace std;
int main(){
int arr[9] = {4,2,8,0,5,7,1,3,9}; //定数组arr
cout<<"排序前: "<<end1;
//访问数组元素
for (int i = 0; i < 9; i++)
{
cout << arr[i] <<end1;
}
cout<<end1;
//冒泡排序
for (int i = 0; i < 9 - 1;i++)
{
for (int j = 0; i < 9 - i - 1; i++)
{
if(arr[j] > arr [j + 1])
{
int temp =arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
//排序后结果
cout <<"排序后: "<<end1;
for(int i = 0; i < 9; i++)
{
cout<<arr[i]<<" ";
}
system("pause");
return 0;
}
二维数组
二维数组的结构:
二维数组的定义方式:
1.数据类型 数组名[行数][列数];
2.数据类型 数组名[行数][列数] = {{数据1,数据2},{数据3,数据4}};
3.数据类型 数组名[行数][列数] = {数据1,数据2,数据3,数据4};
4.数据类型 数组名[ ][列数] = {数据1,数据2,数据3,数据4};
第一种定义方式:
#include<iostream>
using namespace std;
int main(){
int arr[2][3]; //定数组arr
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
//访问数组元素
cout<< arr[0][0] <<end1;
cout<< arr[0][1] <<end1;
cout<< arr[0][2] <<end1;
cout<< arr[1][0] <<end1;
cout<< arr[1][1] <<end1;
cout<< arr[1][2] <<end1;
system("pause");
return 0;
}
第二种定义方式
#include<iostream>
using namespace std;
int main(){
int arr[2][3] =
{
{1,2,3},
{4,5,6}
}; //定数组arr
//访问数组元素
for (int i = 0;i < 2;i++)
{
for (int j = 0; j < 3; j++)
{
cout<<arr[i][j]<<end1;
}
}
system("pause");
return 0;
}
第三种定义方式
#include<iostream>
using namespace std;
int main(){
int arr[2][3] =
{1,2,3,4,5,6}; //定数组arr
//访问数组元素
for (int i = 0;i < 2;i++)
{
for (int j = 0; j < 3; j++)
{
cout<<arr[i][j]<<end1;
}
}
system("pause");
return 0;
}
第四种定义方式
#include<iostream>
using namespace std;
int main(){
int arr[ ][3] =
{1,2,3,4,5,6}; //定数组arr
//访问数组元素
for (int i = 0;i < 2;i++)
{
for (int j = 0; j < 3; j++)
{
cout<<arr[i][j]<<end1;
}
}
system("pause");
return 0;
}
第四种定义方式的中括号内一定要定义一个数字,这样在已知元素个数的基础下,行列才唯一