02_C++数组
创始人
2025-06-01 08:58:50
  1. 数组的定义

1.1一维数组

int score[10];
score[0] = 100;
score[1] = 99;
score[2] = 85;
int score2[10] = { 100, 90,80,70,60,50,40,30,20,10 };

1.2二维数组

int arr[2][3];
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;int arr2[2][3] =
{{1,2,3},{4,5,6}
};int arr3[2][3] = { 1,2,3,4,5,6 };
  1. 数组的地址问题

  • 对二维数组名进行sizeof时,可以获取整个二维数组占用的内存空间大小

  • 二维数组的行数 sizeof(arr) / sizeof(arr[0])

  • 二维数组的列数 sizeof(arr[0]) / sizeof(arr[0][0])

  • 二维数组名就是这个数组的首地址

#include 
using namespace std;int main() {//二维数组数组名int a = 1;double b = 2;int arr[2][3] ={{1,2,3},{4,5,6}};cout << "int类型大小" << sizeof(a) << endl;cout << "double类型大小" << sizeof(b) << endl;cout << "二维数组大小: " << sizeof(arr) << endl;cout << "二维数组一行大小: " << sizeof(arr[0]) << endl;cout << "二维数组元素大小: " << sizeof(arr[0][0]) << endl;cout << "二维数组行数: " << sizeof(arr) / sizeof(arr[0]) << endl;cout << "二维数组列数: " << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;//地址cout << "二维数组首地址:" << arr << endl;cout << "二维数组第一行地址:" << arr[0] << endl;cout << "二维数组第二行地址:" << arr[1] << endl;cout << "二维数组第一个元素地址:" << &arr[0][0] << endl;cout << "二维数组第二个元素地址:" << &arr[0][1] << endl;system("pause");return 0;

输出结果为:

3.冒泡排序

作用: 最常用的排序算法,对数组内元素进行排序

#include 
using namespace std;int main() {int arr[9] = { 4,2,8,0,5,7,1,3,9 };for (int i = 0; i < 9; i++){for (int j = i+1; j < 9; j++){if (arr[i] > arr[j]){int t = arr[j];arr[j] = arr[i];arr[i] = t;}}}for (int i = 0; i < 9; i++){cout << arr[i] << endl;}return 0;
}

4.C++数组和MATLAB数组(矩阵)的区别:

  1. 声明方式不同:在C++中,声明数组需要指定数组类型和数组大小,例如int arr[10],表示定义了一个包含10个整数的数组。而在MATLAB中,数组的大小可以根据数据动态调整,无需在声明时指定大小。

  1. 索引方式不同:在C++中,数组的索引从0开始,例如arr[0]表示数组的第一个元素。而在MATLAB中,数组的索引从1开始,例如A(1)表示数组的第一个元素。

  1. 内存管理不同:在C++中,数组是在栈上分配内存,如果数组过大可能会导致栈溢出。而在MATLAB中,数组是在堆上动态分配内存的,因此可以处理非常大的数组。

  1. 数组操作不同:在C++中,数组的操作需要自己编写代码来实现,例如遍历数组、对数组进行排序等。而在MATLAB中,数组操作已经集成在MATLAB语言中,例如对数组进行排序可以直接使用sort函数。

  1. 数据类型不同:在C++中,数组可以包含任何数据类型,例如整数、浮点数、字符等。而在MATLAB中,数组通常是矩阵,其中的元素必须是相同的数据类型。

相关内容

热门资讯

麦香面花开|传统花馍的仪式感,... 你发现没?春节吃啥都行,但少了花馍总觉得少了点年味。咱们老祖宗用面粉捏出的吉祥寓意,现在还能让人心情...
陕州花馍:在指尖上流传千年的面... 陕州花馍:在指尖上流传千年的面塑艺术 新闻记者 王红权通讯员 董芳远 王青伟 “二十八,把面发;二十...
年夜饭|3个传统家常菜,让团圆... 年夜饭,是中国人最温情的仪式 你发现没,一到年底,朋友圈全是回家的倒计时 78%的人说,最期待的...
原创 菠... 你是不是也遇到过这种情况?辛辛苦苦炒一盘,结果菠菜又黑又涩,鸡蛋又老又柴,整个盘子还汪着一滩水…… ...
省中医“健康年货” | 春节零... 年货满筐,不如健康在旁。 新春佳节,广东省中医院重磅推出【省中医健康年货】专栏——这里有大专家们精心...