数组

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)

 

posted @ 2022-10-30 21:32  Morning枫  阅读(32)  评论(0编辑  收藏  举报