一、一维数组
1、数组名
int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
cout << arr << endl; //数组名,首地址
cout << &arr[i] <<endl; //数组某一元素地址
2、数组长度
cout << sizeof(arr) << endl; //sizeof(arr) 数组长度
cout << sizeof(arr[0]) << endl; //数组元素长度
cout << sizeof(arr) / sizeof(arr[0]) << endl; //数组个数
二、二维数组
1、空间大小
二维数组所占用的内存空间: sizeof(arr)
二维数组,一行所占用的内存空间:sizeof(arr[0])
一个元素所占用的内存空间:sizeof(arr[0][0])
二维数组行数: sizeof(arr) / sizeof(arr[0])
二维数组的列数:sizeof(arr[0]) / sizeof(arr[0][0])
2、首地址
二维数组首地址:arr
第一行首地址:arr[0]
第二行首地址:arr[1]
第一行、第二列元素首地址:&arr[0][1]
string name[3]={ " 张三 " , " 李四 " , " 王五 " };
三、冒泡排序
从前向后,两两比较,一轮比完,最大值放到最后
2 4 0 5 7 1 9 3 8
假设 num=9 个数,(比较 0~ 7轮)
第 0 轮,比较 8 9-0-1次,找到(所有数9个中)最大数,放在第9位
第 1 轮,比较 7 9-1-1次,找到(前8位中)最大数,放在第8位
第 2 轮,比较 6 9-2-1次,找到(前7位中)最大数,放在第7位
.........
第 7 轮,比较 1 9-7-1次,找到(前7位中)最大数,放在第2位
排序总轮数=元素个数-1; i < num - 1;
排序次数=元素个数 - 排序轮数 -1; j < num - i - 1;
//冒泡排序
for (int i = 0; i < num - 1; i++) //比较轮数 8
{
for (int j = 0; j < num - i -1; j++) //每一轮比较次数 8~2
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}