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

相关推荐
房开民1 小时前
c++总结
java·开发语言·c++
好大哥呀1 小时前
C++ 多态
java·jvm·c++
阿豪学编程2 小时前
LeetCode724.:寻找数组的中心下标
算法·leetcode
墨韵流芳3 小时前
CCF-CSP第41次认证第三题——进程通信
c++·人工智能·算法·机器学习·csp·ccf
hz_zhangrl3 小时前
CCF-GESP 等级考试 2026年3月认证C++五级真题解析
c++·青少年编程·程序设计·gesp·c++五级·gesp2026年3月·gesp c++五级
Σίσυφος19003 小时前
C++ 多肽经典面试题
开发语言·c++·面试
csdn_aspnet3 小时前
C# 求n边凸多边形的对角线数量(Find number of diagonals in n sided convex polygon)
开发语言·算法·c#
凌波粒4 小时前
LeetCode--349.两个数组的交集(哈希表)
java·算法·leetcode·散列表
crescent_悦4 小时前
C++:The Largest Generation
java·开发语言·c++
paeamecium5 小时前
【PAT甲级真题】- Student List for Course (25)
数据结构·c++·算法·list·pat考试