数组
1.一维数组
①三种定义方式:
回顾C:
1)数组的每个元素都是相同的数类型
2)数组放在一块连续的内存空间内
②一维数组数组名:
用途:
1)统计整个数组在内存中的长度(sizeof(数组名/数组下标...))
2)获取整个数组元素个数(sizeof(数组名)/sizeof(数组名[数组下标])=整个数组占用的内存大小/每个元素占用的内存大小)
3)获取数组在内存中的首地址(sizeof(数组名)=sizeof(数组名[0]))
小案例(元素逆置):
1 #include <iostream> 2 3 using namespace std; 4 5 int main(){ 6 int arr[] = {1,2,3,4,5}; 7 int start = 0; //数组起始下标 8 int end = sizeof(arr)/sizeof(arr[0]) - 1; //获取数组尾部元素下标 9 int temp = 0; //临时变量 10 for (int i = 0; i < end + 1; i++){ 11 cout << arr[i]; 12 } 13 cout << endl; 14 while(start < end){ 15 temp = arr[start]; 16 arr[start] = arr[end]; 17 arr[end] = temp; 18 start++; 19 end--; 20 } 21 end = sizeof(arr)/sizeof(arr[0]) - 1; 22 for (int i = 0; i < end + 1; i++){ 23 cout << arr[i]; 24 } 25 system("pause"); 26 return 0; 27 }
============================================================================================
冒泡排序:
1 #include <iostream> 2 3 using namespace std; 4 5 int main(){ 6 int arr[] = {4,2,8,0,5,7,1,3,9,6}; 7 int arrLen = sizeof(arr)/sizeof(arr[0]); 8 for (int i = 0; i < arrLen; i++){ 9 cout << arr[i]; 10 } 11 cout << endl; 12 for (int i = 0; i < arrLen-1; i++){ 13 for (int j = 0; j < arrLen-1-i; j++){ 14 if (arr[j] > arr[j+1]){ 15 int temp = arr[j]; 16 arr[j] = arr[j+1]; 17 arr[j+1] = temp; 18 } 19 } 20 } 21 for (int i = 0; i < arrLen; i++){ 22 cout << arr[i]; 23 } 24 system("pause"); 25 return 0; 26 }
小结:
外循环=排序总轮次=元素个数-1
内循环=每轮对比次数=元素个数-当前排序轮次-1
============================================================================================
2.二维数组:
同C(平面直角坐标系)
①四类定义方式:
输出参考99乘法表输出。
关于第二种方式,看下面例子:
②二维数组数组名:
看C去= =:二维数组 - Morning枫 - 博客园 (cnblogs.com)