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

相关推荐
勤劳的进取家3 分钟前
数据链路层基础
网络·学习·算法
南境十里·墨染春水5 分钟前
C++笔记 STL——set
开发语言·c++·笔记
dgaf18 分钟前
DX12 快速教程(17) —— 立体图标与合并渲染
c语言·c++·3d·图形渲染·d3d12
Advancer-20 分钟前
第二次蓝桥杯总结(上)
java·算法·职场和发展·蓝桥杯
ん贤1 小时前
加密算法(对称、非对称、哈希、签名...)
算法·哈希算法
superior tigre1 小时前
78 子集
算法·leetcode·深度优先·回溯
天威?*1 小时前
bitset的数据结构用法
算法·动态规划
hoiii1872 小时前
粒子滤波跟踪系统 - 蒙特卡洛方法实现
算法
weisian1513 小时前
Java并发编程--47-分布式ID生成器:雪花算法(Snowflake)与时钟回拨问题
java·算法·时钟回拨·雪花算法id
itzixiao3 小时前
L1-066 猫是液体(5分)[java][python]
java·开发语言·python·算法