一维数组
1、定义方式(3种)
int arr[3];
int arr[3] = {1, 2, 3};
int arr[] = {1, 2, 3};
2、数组名
// 首地址
cout << arr << endl;
cout << &arr[0] << endl;
3、冒泡排序
总共用len个数组元素,则要进行len-1轮比较。每轮比较会把最大(或者最小)的数排好。
int arr[] = {4, 2, 1, 3, 9, 5, 7, 8, 6, 0};
int len = sizeof(arr) / sizeof(arr[0]);
// 轮数
for(int i = 0; i < len-1; i++){
// 对比次数
for(int j = 0; j < len-i-1; j++){
// 交换
if(arr[j] > arr[j+1]){
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
二维数组
1、定义方式(4种)
int arr[2][3];
int arr[2][3] = {{1, 2, 3}, {4, 5, 6}};
int arr[2][3] = {1, 2, 3, 4, 5, 6};
int arr[][3] = {1, 2, 3, 4, 5, 6};
2、初始化为0
// 固定长度
int arr[3][3]={0};
// 长度为变量
int arr[n][n];
memset(dp,0,sizeof(dp));
3、数组名
int arr[2][3]={{1, 2, 3}, {4, 5, 6}};
// 首地址
cout << (int)arr << endl;
cout << (int)arr[0] << endl;
cout << (int)arr[0][0] << endl;
// 行数
cout << sizeof(arr) / sizeof(arr[0]) << endl;
// 列数
cout << sizeof(arr[0]) / sizeof(arr[0][0] << endl;