0511二维数组定义(代码片段)

zs0322 zs0322     2022-12-08     181

关键词:

二维数组

数组的数组---二维数组的每一个元素是一个一维数组

定义格式

数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][每个一维数组的长度];

int[][] arr = new int[3][5];---定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数

arr[0]---下标为0的位置上的一维数组

arr[1][3]---如果要获取具体的元素需要两个下标

数据类型[][] 数组名 = new 数据类型[二维数组的长度/包含的一维数组的个数][];

 

int[][] arr = new int[3][];----表示一个包含了三个整型的一维数组的二维数组(-------------这句话好好理解------------------------)

技术图片

 

数据类型[][] 数组名 = 元素,元素1, 元素2,……;

int[][] arr = 2,5,1,3,2,4,1,7,5,9;

注意:[]在变量名前的时候,是紧跟数据类型的;如果[]在后,则是属于当前变量名。

二维数组的应用

二维数组的长度:数组名.length ---每个一维数组:数组名[下标].length

二维数组的遍历---两重for循环

for(int i = 0; i < arr.length; i++) //遍历二维数组,遍历出来的每一个元素是一个一维数组
for(int j = 0; j < arr[i].length; j++) //遍历对应位置上的一维数组
System.out.println(arr[i][j]);

二维数组的反转---头尾交换

for(int start = 0, end = arr.length -1; start < end; start++,end--)
int[] temp = arr[start];
arr[start] = arr[end];
arr[end] = temp;

从控制台输入行数,打印对应的杨辉三角

技术图片
//从控制台获取行数
Scanner s = new Scanner(System.in);
int row = s.nextInt();
//根据行数定义好二维数组,由于每一行的元素个数不同,所以不定义每一行的个数
int[][] arr = new int[row][];
//遍历二维数组
for(int i = 0; i < row; i++)
    //初始化每一行的这个一维数组
    arr[i] = new int[i + 1];
    //遍历这个一维数组,添加元素    
    for(int j = 0; j <= i; j++)
        //每一列的开头和结尾元素为1,开头的时候,j=0,结尾的时候,j=i
        if(j == 0 || j == i)
            arr[i][j] = 1;
         else //每一个元素是它上一行的元素和斜对角元素之和
            arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1];
        
        System.out.print(arr[i][j] + "\\t");
    
    System.out.println();
技术图片

结果:

1

1   1

1   2   1

1   3   3   1

1   4   6   4   1

1   5   10 10 5   1

杨辉三角用二维数组的理解:

arr[i][j] = arr[i -1][j] + arr[i - 1][j - 1]

javase:数组(代码片段)

...析引用的指向数组的拷贝copyOfcopyOfRangclone()方法手动实现二维数组二维数组的定义二维数组剖析二维数组使用不规则的二维数组数组数组,我们可以理解为相同数据类型变量的集合,并且可以很方便的通过下标去访问和修... 查看详情

碎碎念(代码片段)

目录1.typedef定义数组类型2.指针数组3.数组指针4.二维数组5.二维数组是线性存储的(用一维数组方式打印)6.一维(二维)数组与数组指针7.二维数组做函数参数8.sizeof测试一维数组、二维数组1.typedef定义数组类型有typedef是类型,没... 查看详情

c语言-数组的定义和引用(代码片段)

数组的定义和引用1.一维数组、二维数组的定义、初始化和引用方法数组数据的特点:数组:一般形式:类型说明符数组名[常量表达式];说明:一维数组的引用1.引用方式:二维数组二维数组引用表现形式... 查看详情

二维数组的案例(代码片段)

1.二维数组就是一个数组里的元素是一维数组,例如:arr=[[1,2,3],[4,5,6],[7,8,9]]2.二维数组案例1:共有六个学生,将每个学生对应学号的语文、数学、英语成绩求和求平均值//定义一个二维数组,放六个人的学号及成绩vararr=[];//定义... 查看详情

二维数组排序(代码片段)

代码:publicstaticvoidmain(String[]args)int[][]arr=10,20,50,30,40,80,15,100;int[]arr2=newint[(arr[0].length+arr[1].length+arr[2].length)];intsum=0;//定义一个变量用于累加求和intindex=0;//定义一个下标用于给新数组赋值//循环输出 查看详情

java数组2----二维数组(代码片段)

文章目录概念定义与使用概念可以将二维数组想象为一张表。表的每一行是一个一维数组。那么二维数组就可以看作元素是一维数组的数组。对二维数组的访问也是通过索引实现,只不过需要两个索引如下表示的二维数组... 查看详情

java数组自定义排序(二维数组)(代码片段)

...条件\\colorPurple准备条件准备条件∙\\bullet∙数组(以二维int数组为例);∙\\bullet∙由m个一维数组构成;int[][]arr=newint[m][2];∙\\bullet∙要求:将该二维数组按第一个元素升序,如果第一个元素相同则按第... 查看详情

二维数组排序-qsort(代码片段)

对采用malloc定义的二维数组排序//采用malloc定义二维数组int**a;a=(int**)malloc(sizeof(int*)*numsSize);//行数for(inti=0;i<numsSize;i++)a[i]=(int*)malloc(sizeof(int)*2);//列数第一项相同后,按第二项排staticintcm 查看详情

二维数组排序-qsort(代码片段)

对采用malloc定义的二维数组排序//采用malloc定义二维数组int**a;a=(int**)malloc(sizeof(int*)*numsSize);//行数for(inti=0;i<numsSize;i++)a[i]=(int*)malloc(sizeof(int)*2);//列数第一项相同后,按第二项排staticintcm 查看详情

c语言二级指针内存模型图(指针数组|二维数组|自定义二级指针内存)(代码片段)

文章目录前言一、指针数组二、二维数组三、自定义二维指针内存前言绘制如下333种二级指针的内存模型://I.指针数组char*p1[]="12","ab","34";//II.二维数组charp2[3][4]="12","ab","34";//III.自定义二... 查看详情

js二维数组定义初始化不指定长度(代码片段)

vararr=[[]];arr[0][0]=0;arr[0][1]=1;arr[0][2]=2;console.log('onLoad2222:'+arr)console.log('onLoad2222:'+arr.length)输出:onLoad2222:0,1,2onLoad2222:1end 查看详情

js二维数组定义初始化不指定长度(代码片段)

vararr=[[]];arr[0][0]=0;arr[0][1]=1;arr[0][2]=2;console.log('onLoad2222:'+arr)console.log('onLoad2222:'+arr.length)输出:onLoad2222:0,1,2onLoad2222:1end 查看详情

c#二维数组的介绍(代码片段)

C#二维数组的介绍1.交替数组(不等长数组)//二维数组定义与初始化//不规则二维数组int[][]array=newint[2][];//锯齿数组array[0]=newint[3];array[0][1]=11;array[0][2]=12;array[1]=newint[]1,2,3,4,5;//或int[][]array=newint[2 查看详情

[c语言]数组详解(代码片段)

...建数组的初始化一维数组的使用一维数组在内存中的存储二维数组的创建和初始化二维数组的创建二维数组的初始化二维数组的使用二维数组在内存中的存储数组作为函数参数数组名是什么?数组的定义数组(Array)... 查看详情

第四周《c语言及程序设计》实践项目32二维数组及其定义(代码片段)

【项目1-折腾二维数组】/**Copyright(c)2016,CSDN学院*Allrightsreserved.*文件名称:【项目1-折腾二维数组】.cpp*作者:张易安*完成日期:2016年9月13日*版本号:v1.0**问题描述:创建一个5行4列的二维整型数组,通过... 查看详情

c++基础入门丨5.数组——一维数组和二维数组(代码片段)

...数组1.1一维数组定义方式1.2一维数组数组名1.3冒泡排序2二维数组2.1二维数组定义方式2.2二维数组数组名所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特... 查看详情

c++基础入门丨5.数组——一维数组和二维数组(代码片段)

...数组1.1一维数组定义方式1.2一维数组数组名1.3冒泡排序2二维数组2.1二维数组定义方式2.2二维数组数组名所谓数组,就是一个集合,里面存放了相同类型的数据元素特点1:数组中的每个数据元素都是相同的数据类型特... 查看详情

c语言二级指针内存模型(指针数组|二维数组|自定义二级指针|将一二模型数据拷贝到三模型中并排序)(代码片段)

文章目录一、指针数组和二维数组数据拷贝到自定义二级指针中1、函数形参设计规则2、三种内存模型对应函数形参指针退化规则二、完整代码示例一、指针数组和二维数组数据拷贝到自定义二级指针中将指针数组和二维数组中... 查看详情