C++数组

数组,就是一个集合,里面存放了相同类型的数据元素

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

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

一维数组

一维数组三种定义方式

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

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

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

一维数组名称的用途

1、可以统计整个数组在内存中的长度( sizeof(arr)/sizeof(arr[0]) )

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

( cout << "数组首地址为:" <<(int)arr<< endl;

cout << "数组中第一个元素地址为:" <<&arr[0]<< endl; )

一维数组冒泡排序

对数组内元素进行排序

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

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

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

复制代码
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;
      }
    }  
  }
}

二维数组

在一维数组上,多加一个维度

二维数组四种定义方式

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

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

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

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

二维数组名称的用途

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

二维数组占用内存空间:sizeof( arr )

二维数组第一行占用内存空间:sizeof( arr[0] )

二维数组第一个元素占用内存看见:sizeof( arr[0][0] )

二维数组行数:sizeof( [ arr ] )/sizeof( arr[0] )

二维数组列数:sizeof( arr[0] )/sizeof( arr[0][0] )

2、获取二维数组首地址

( cout << "二维数组首地址为:" <<(int)arr<< endl;

cout << "二维数组中第一行首地址为:" <<(int)arr[0]<< endl;

cout << "二维数组中第二行首地址为:" <<(int)arr[1]<< endl;

cout << "二维数组中第一个元素首地址为:" <<(int)&arr[0][0]<< endl; )

相关推荐
侯小啾2 小时前
【03】C语言 强制类型转换 与 进制转换
c语言·数据结构·算法
Xの哲學2 小时前
Linux NAPI 架构详解
linux·网络·算法·架构·边缘计算
AA陈超3 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P06-14 属性菜单 - 文本值行
c++·游戏·ue5·游戏引擎·虚幻
云知谷3 小时前
【经典书籍】C++ Primer 第15章类虚函数与多态 “友元、异常和其他高级特性” 精华讲解
c语言·开发语言·c++·软件工程·团队开发
weixin_582985184 小时前
OpenCV cv::Mat.type() 以及类型数据转换
c++·opencv·计算机视觉
京东零售技术6 小时前
扛起技术大梁的零售校招生们 | 1024技术人特别篇
算法
爱coding的橙子6 小时前
每日算法刷题Day78:10.23:leetcode 一般树7道题,用时1h30min
算法·leetcode·深度优先
Swift社区6 小时前
LeetCode 403 - 青蛙过河
算法·leetcode·职场和发展
地平线开发者7 小时前
三种 Badcase 精度验证方案详解与 hbm_infer 部署实录
算法·自动驾驶
oioihoii7 小时前
深入理解 C++ 现代类型推导:从 auto 到 decltype 与完美转发
java·开发语言·c++