码迷,mamicode.com
首页 > 编程语言 > 详细

05 数组

时间:2021-06-22 18:48:44      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:str   最大   组成   一维数组   推荐   组元   名称   amp   结果   

0、特点:

  1) 数组是由连续内存位置组成的。

  2) 数组内元素数据类型一致。

 

1、一维数组

  1.1 定义方式:

  数据类型  数组名[数组长度];

  数据类型  数组名[数组长度]={值1,值2,...};  \\ 若{} 内小于数组长度,默认用0补齐

  数组类型  数组名[  ]={值1,值2,...};

 

  1.2 一维数组名的用途

  1) 可以统计数组在内存中的长度和占用空间。

  2)可以获取数组在内存中的首地址。

 int main() 
 {
     //数组名用途
     //1、可以获取整个数组占用内存空间大小
     int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

     cout << "整个数组所占内存空间为: " << sizeof(arr) << endl;
     cout << "每个元素所占内存空间为: " << sizeof(arr[0]) << endl;
     cout << "数组的元素个数为: " << sizeof(arr) / sizeof(arr[0]) << endl;

     //2、直接打印数组名,可以查看数组所占内存的首地址
     cout << "数组首地址为: " << (int)arr << endl;  \\将arr强制转换成整型输出
     cout << "数组中第一个元素地址为: " << (int)&arr[0] << endl;
     cout << "数组中第二个元素地址为: " << (int)&arr[1] << endl;

     //arr = 100; 错误,数组名是常量,因此不可以赋值

     system("pause");

     return 0;
}

  ?练习案例1:五只小猪称体重

  在一个数组中记录了五只小猪的体重,如:int arr[5] = {300,350,200,400,250};找出并  打印最重的小猪体重。

  ?练习案例2:数组元素逆置

  请声明一个5个元素的数组,并且将元素逆置.(如原数组元素为:1,3,2,5,4;逆置后输出结果为:4,5,2,3,1);

 

  1.3 冒泡排序

  介绍:最常用排序算法,对数组元素进行排序

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

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

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

 //示例: 将数组 { 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、二维数组

  2.1 定义方式

  1) 数据类型  数组名[行数] [列数];

  2) 数据类型  数组名[行数] [列数]={ {数据1,数据2} ,  {数据3,数据4} }; //推荐此方式

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

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

  

  2.2、二维数组名称

  1) 可以统计数组在内存中的长度和占用空间。

  2)可以获取数组在内存中的首地址。

int main() {

    //二维数组数组名
    int arr[2][3] =
    {
        {1,2,3},
        {4,5,6}
    };

    cout << "二维数组大小: " << sizeof(arr) << endl;
    cout << "二维数组一行大小: " << sizeof(arr[0]) << endl;
    cout << "二维数组元素大小: " << sizeof(arr[0][0]) << endl;

    cout << "二维数组行数: " << sizeof(arr) / sizeof(arr[0]) << endl;
    cout << "二维数组列数: " << sizeof(arr[0]) / sizeof(arr[0][0]) << endl;

    //地址
    cout << "二维数组首地址:" << arr << endl;
    cout << "二维数组第一行地址:" << arr[0] << endl;
    cout << "二维数组第二行地址:" << arr[1] << endl;

    cout << "二维数组第一个元素地址:" << &arr[0][0] << endl;
    cout << "二维数组第二个元素地址:" << &arr[0][1] << endl;

    system("pause");

    return 0;
}

 

 

 

  

 

  

 

05 数组

标签:str   最大   组成   一维数组   推荐   组元   名称   amp   结果   

原文地址:https://www.cnblogs.com/xvfang/p/14919460.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!