C++基础 数组

数组:一个存放了相同类型的数据元素集合

特点1:数组中每个数据元素都是相同的数据类型

特点2:数组是由连续的内存位置组成

1. 一维数组

a. 一维数组的定义方式

        i. 数据类型 数组名 [数组长度]
        ii. 数据类型 数组名 [数组长度] = {值1,值2…}
        iii. 数据类型 数组名 [ ] = {值1,值2,值3…}

*如果在初始化数组时没有全部填充,则会用0填补剩余数据

*数组名的命名规范与变量名命名规范一致,不要和变量重名

*数组中下标是从0开始索引

b. 一维数组数组名

i. 可以统计整个数组在内存中的长度

ii. 可以获取数组在内存中的首地址

*数组名时常量,不可以赋值,因为数组名已经代表首地址了

*直接打印数组,可以查看数组所占内存的首地址,获取地址要使用地址符&

*对数组名进行sizeof,可以获取整个数组占内存空间的大小

iii. 可以通过数组大小除于数组首地址大小获取数组中元素的个数

        例如arr[5],sizeof(arr)/ sizeof(arr[0])= 5

c. 冒泡排序

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

ii. 具体操作:

  1. 比较相邻的元素。如果第一个比第二个大,就交换他们两个。

  2. 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。

  3. 重复以上的步骤,每次比较次数-1,直到不需要比较

*外循环:总比较轮数是元素个数-1

*内循环:每轮比较次数是元素个数-i-1

iii. 举例:将数组 { 4,2,8,0,5,7,1,3,9 } 进行升序排序
'''
int main() {

            int arr[9] = { 4,2,8,0,5,7,1,3,9 };
        
            for (int i = 0; i < 9 - 1; i++)
            {
                for (int j = 0; j < 9 - 1 - i; j++)
                {
                    if (arr[j] > arr[j + 1])
                    {
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
                }
            }
        
            for (int i = 0; i < 9; i++)
            {
                cout << arr[i] << endl;
            }
            
            system("pause");
        
            return 0;
        }
        '''

2. 二维数组

a. 定义方式

i. 数据类型 数组名[ 行数 ][ 列数 ];

            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;

ii. 数据类型 数组名[ 行数 ][ 列数 ] = { {数据1,数据2 } ,{数据3,数据4 } };

        int arr2[2][3] =
            {
                {1,2,3},
                {4,5,6}
            };

iii. 数据类型 数组名[ 行数 ][ 列数 ] = { 数据1,数据2,数据3,数据4};

        int arr3[2][3] = { 1,2,3,4,5,6 };

iv. 数据类型 数组名[ ][ 列数 ] = { 数据1,数据2,数据3,数据4};

        int arr4[][3] = { 1,2,3,4,5,6 };

*在定义二维数组时,如果初始化了数据,可以省略行数

b. 二维数组数组名

i. 作用:

  1. 查看二维数组所占内存空间

  2. 获取二维数组首地址

*获取地址要使用地址符&

注:当时做笔记的时候中英文标点未分,大家见谅

感谢大家的阅读,欢迎大家评论和指出我的不足

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。