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; )

相关推荐
go不是csgo12 小时前
两个Redis数据结构搞定签到和UV统计:Bitmap与HyperLogLog实战
数据结构·redis·uv
Evand J12 小时前
【课题推荐】强跟踪UKF算法,三维非线性状态量和观测量,附MATLAB代码测试结果
开发语言·算法·matlab
haibindev12 小时前
别让AI再从零写一堆优美的屎山了
c++·ai编程·claude·流媒体·codex·代码复用
悠仁さん12 小时前
数据结构 栈与队
数据结构
Zhang~Ling12 小时前
C++ 模板初阶:从函数模板到类模板
c++
蜕变的土豆12 小时前
Visual Studio编译时,报错windows sdk 不匹配,找不到windows sdk
c++
雪度娃娃12 小时前
转向现代C++——优先选用限定作用域的枚举型别,而非不限作用域的枚举型别
java·jvm·c++
咩咦12 小时前
C++学习笔记17:析构函数
c++·学习笔记·类和对象·构造函数·析构函数·动态内存
爱炸薯条的小朋友12 小时前
全局锁的性能优势,以及链路优化为何常常低于预期——基于 `MatPoolsTest` 中小图池与大图池的实战复盘
opencv·算法·c#