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

相关推荐
数研小生7 小时前
构建命令行单词记忆工具:JSON 词库与艾宾浩斯复习算法的完美结合
算法·json
芒克芒克7 小时前
LeetCode 题解:除自身以外数组的乘积
算法·leetcode
Python 老手8 小时前
Python while 循环 极简核心讲解
java·python·算法
@Aurora.8 小时前
优选算法【专题九:哈希表】
算法·哈希算法·散列表
Bella的成长园地8 小时前
面试中关于 c++ async 的高频面试问题有哪些?
c++·面试
爱看科技8 小时前
微美全息(NASDAQ:WIMI)研究拜占庭容错联邦学习算法,数据安全与隐私保护的双重保障
算法
彷徨而立8 小时前
【C/C++】什么是 运行时库?运行时库 /MT 和 /MD 的区别?
c语言·c++
qq_417129258 小时前
C++中的桥接模式变体
开发语言·c++·算法
Hello World . .8 小时前
数据结构:队列
c语言·开发语言·数据结构·vim
YuTaoShao9 小时前
【LeetCode 每日一题】3010. 将数组分成最小总代价的子数组 I——(解法二)排序
算法·leetcode·排序算法