数组
C++中的数组是一种特殊类型的变量,它可以存储一组具有相同数据类型的元素,这些元素在内存中是按照一定的顺序排列的。下面是C++数组的一些特点:
数组的元素类型必须相同
。例如,一个int类型的数组中只能存储int类型的元素。
数组的大小是固定的。一旦数组被创建,它的大小就不能再改变了。
数组的元素是连续存储的
。这意味着,数组中的元素在内存中是按照一定的顺序排列的,每个元素的地址与前一个元素的地址相差固定的大小。
数组的下标是从0开始的。这意味着,数组的第一个元素的下标是0,第二个元素的下标是1,以此类推。
数组的访问速度很快。由于数组的元素是连续存储的,因此可以通过下标快速访问数组中的任何一个元素。
需要注意的是,在使用数组时应该注意数组越界的问题,即访问不存在的数组元素。这可能会导致程序崩溃或产生不可预料的结果。
一维数组
一维数组名:查看内存大小(sizeof(arr)
),查看首地址(arr or arr[0]
)
一维数组定义的三种方式:
-
数据类型 数组名[数组长度];
int arr[10];
-
数据类型 数组名[数组长度] = { 值1, 值2 ...};
int arr[3] = { 2, 5, 8};
-
数据类型 数组名[] = { 值1, 值2 ...};
int arr[] = {2, 4, 6, 8};
冒泡排序
#include <iostream>
using namespace std;
int main() {
int arr[9] = {2,4,0,5,7,1,100,8,9};
int temp;
cout << "排序前:" << endl;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
cout << arr[i] << " ";
}
// 开始冒泡排序
for (int i = 0; i < sizeof(arr)/ sizeof(arr[0]); i++)
{
for (int j = i + 1; j < sizeof(arr) / sizeof(arr[0]); j++)
{
if (arr[i]>arr[j])
{
temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
cout << endl;
cout << "排序后:" << endl;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
cout << arr[i] << " ";
}
return 0;
}
result:
二维数组
二维数组名:查看二维数组所占内存空间(sizeof(arr)
), 获取二维数组首地址(arr or arr[0] or arr[0][0]
)
二维数组就是在一维数组上,多加了一个维度
二维数组定义的四种方式:
1、数据类型 数组名[行数][列数];
2、数据类型 数组名[行数][列数] = { {数据1, 数据2}, {数据3, 数据4} };
3、数据类型 数组名[行数][列数] = { 数据1, 数据2, 数据3, 数据4 };
4、数据类型 数组名[][列数] = { 数据1, 数据2, 数据3, 数据4 };
建议:以上4种方式,利用第二种更加直观,提高代码的可读性