精华内容
下载资源
问答
  • 二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”... 二维数组可以看成是一维数组的数组,a[0] 可以认为是数组名,数组名代表数组首元素的地址 a[0] 代表 a[0][0]的地址 *(a+0) //元素a[0]...

    二维数组
    二维数组本质上是以数组作为数组元素的数组,即“数组的数组”。
    二维数组元素表示方法

     a                //  数组首行的地址
    
     a[0]            //元素a[0][0]的地址。 
     
     二维数组可以看成是一维数组的数组,(a[0] 、a[1] 、a[2] ) 。
     a[0] 可以认为是数组名,数组名代表数组首元素的地址, a[0] 代表 a[0][0]的地址
     
     *(a+0)        //元素a[0][0]的地址
     
    因为a是二维数组名,即是一维数组(a[0] 、a[1] 、a[2] )这三个元素的的首地址。
    a+0就是 a[0]的地址。
    *是取指针的值。
    那么*(a+0)就是取 a[0]的值。 a[0] 是一个数组名,他代表数组首元素a[0][0]的地址。
    
     a+1             // 数组第二行的地址
    
     a[1]+2       //  元素a[1][2]的地址        a[1] 是数组名,数组名是指向数组首元素的地址, a[1]+2  数组名+2 代表数组的第三个元素的地址。
     
     *(a+1)+2     //  元素 a[1][2]的地址       a+1  就是 a[1] 的地址 ,*(a+1)  就是 a[1][0]的地址, *(a+1)+2  就是 a[1][2]的地址。
    
     *(a[1]+2)      //元素 a [1][2] 的值         a[1] 是数组名。  a[1]+2  是 a[1][2]的地址,*(a[1]+2) 就是 元素 a[1][2]的值了。
    
    *(*(a+1)+2)     //元素 a[1][2]的值       a+1 代表 a[1]的地址,*(a+1) 代表 a[1][0] 的地址,*(a+1)+2 代表 a[1][2] 的地址。
    
    展开全文
  • 一维数组元素的表示法-指针法主讲人张静指针元素pp[0] *pa[0]p+1p[1] (p+1)a[1] p+ip[i] (p+i)a[i]p+9p[9] (p+n)a[9]图5-10 一维数组元素的指针表示法设a是一维数组p是一级指针变量若p的初值为&a[0]则p指向数组元素a...
  • c#二维数组的表示方法

    万次阅读 2018-10-14 12:27:48
    //定义个2行4列维数组   第二种表示方法: int[][]a=new int[2][];//后面中括号里面不能写数字。 a[0]=new int[2]; //表示第行有两列,两个元素 a[1]=new int[3]; //表示第二行有三列,三个元素...

    第一种表示方法:

    int[,] a=new int[2,4];//定义一个2行4列的二维数组

     

    第二种表示方法:

    int[][]a=new int[2][];//后面中括号里面不能写数字。

    a[0]=new int[2]; //表示第一行有两列,两个元素

    a[1]=new int[3]; //表示第二行有三列,三个元素

    展开全文
  • 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子。 二维数组的表示: myarray[ ][ ] 注意: 二维数组的两个维度的索引值也是从0开始,两个维度的最后一个索引值为...

    二维数组

    一维数组,我们看成一组盒子,每个盒子只能放一个内容。

    一维数组的表示: myarray[ ]

    二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子。

    二维数组的表示: myarray[ ][ ]

    注意: 二维数组的两个维度的索引值也是从0开始,两个维度的最后一个索引值为长度-1。 

    1. 二维数组的定义方法一

    var myarr=new Array();  //先声明一维 
    for(var i=0;i<2;i++){   //一维长度为2
       myarr[i]=new Array();  //再声明二维 
       for(var j=0;j<3;j++){   //二维长度为3
       myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j
       }
     }


    注意: 关于for 循环语句,请看第四章4-5 。

    将上面二维数组,用表格的方式表示:

    2. 二维数组的定义方法二

    var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]

    3. 赋值

    myarr[0][1]=5; //将5的值传入到数组中,覆盖原有值。

    说明: myarr[0][1] ,0 表示表的行,1表示表的列。

     

    任务

    试一试,创建二维数组(一维长度3,二维长度6),值为一维数组和二维数组索引值的积,如myarr[2][5]=2*5。

    在右边编辑器的script标签内,创建该二维数组。


    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>二维数组</title>
    <script type="text/javascript">
    var myarr = new Array();
    for(var i=0;i<3;i++){
         myarr[i] = new Array();
         for(var j=0;j<6;j++){
               myarr[i][j]=i*j;
               
               document.write("myarr["+i+"]["+j+"]的值:"+myarr[i][j]+"<br>");
         }
    }
    </script>
    </head>
    
    <body>
    </body>
    </html>



    展开全文
  • 有没有方法能定义一个二维数组一维二维下标都是动态调整?也就是定义了以后我不用再担心下标越界问题了 上图中我加入 ``` a[5][10] = 1; alert(a[5][10]); ``` 报错。 5 未定义 但是我加入 ```...
  • 维数组的四种表示方法及二维数组的排序问题 /* 研究二维数组的排序问题 二维数组的四种表示方法 第一种一维数组表示二维数组 for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { YiWi[i * ...

    二维数组的四种表示方法及二维数组的排序问题

    
    研究二维数组的排序问题
    二维数组的四种表示方法
    第一种一维数组表示二维数组
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < m; j++) {
    			YiWi[i * n + j];
    		}
    	}
    第二种静态的表示二维数组
    ErWei[i][j]
    第三种动态的表示二维数组
     申请空间
    	int** a2 = new int*[rows];				int** a2 = (int **)malloc(sizeof(int*) * n); //先给二级指针申请空间也就是行指针
    	for(int i=0;i<rows;i++)					再利用for循环开辟每一行中的列指针
    		a2[i] = new int[columns];			for (int i = 0; i < m; i++) {
    	释放空间									a2[i] = (int*)malloc(sizeof(int) * m);
    											}		
    	for(int i=0;i<rows;i++)					for (int i = 0; i < m; i++) {
    		delete []a2[i];							free(a2[i]);
    											}
    	delete []a2;							free(a2);
    第四种vector
    	int i,j;
    vector<vector<int>> array(5);
    for (i = 0; i < array.size(); i++)
        array[i].resize(3);
    
    	二维数组的排序(整体排序)
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < m; j++) {
    			YiWei[i * n + j];
    		}
    	}
    	sort(YiWei, YiWei + (m * n));
    	for (int i = 0; i < n; i++) {
    		for (int j = 0; j < m; j++) {
    			ErWei[i][j] = YiWei[i * n + j];
    		}
    	}
    	不整体排序
    	xq[100][2];
    	bool cmp(int* a, int* b) {
    		return a[0] > b[0];  //这是只看第一个元素也就是下标为0的元素,sort是以行为代表的就是比较晚第一个元素后全部的这两行全部的元素都换位置
    	}
    
    
    
    展开全文
  • 如果对象是二维数组,则切片应当是x[:]的...对于二维数组,在冒号前面的(n,)意味着对二维数组的第0个维度上的第n号元素操作,在冒号后面的(,n)意味着对二维数组的第1个维度上的第n号元素进行操作。如果n替换成(m:n)则表
  • 维数组的几种表示方法

    万次阅读 2017-04-30 21:55:24
    说明:常用的有以下几种二维数组的表示方法: (1)、第一种是普通的二维数组的表示方法。 (2)、第二种是用一维数组来表示二维数组,从显示的元素地址可以看出,二维数组和一维数组表示的二维数组在内存中的...
  • 但是在概念和使用方法上,二维数组的指针比一维数组的指针要复杂一些。要理解指针和二维数组的关系首先要记住一句话:二维数组就是一维数组,这句话该怎么理解呢? 假如有一个二维数组: int a[3][4] = {{1, 3, ...
  • 说明:常用的有以下几种二维数组的表示方法: (1)、第一种是普通的二维数组的表示方法。 (2)、第二种是用一维数组来表示二维数组,从显示的元素地址可以看出,二维数组和一维数组表示的二维数组在内存中的储存...
  • 维数组的定义方法

    2020-07-08 14:22:19
    n表示每一个一维数组的元素个数 举例:int[][] arr = new int[3][2]; 定义了一个二维数组arr 这个二维数组有3个一维数组,名称是arr[0],arr[1],arr[2] 每个一维数组有2个元素,可以通过arr[m][n]来获取 表示...
  • 我设定维数组,只有个值,byte类型,如何用这二维数组表示rgb几个值。我百度说是二维数组是单通道,只能表示几个值一样rgb,所以几个值一样怎么设置,还有就是能不能设置三个二维数组,最后组成个rgb值...
  • 数据结构 二维数组表示一维数组

    千次阅读 2013-08-03 11:31:51
    2、看数组代表矩阵的表示方法,引发了关于一维指针表示二维数组的方法和二维数组作为参数的问题 1)比如: a[3][4]是一个二维数组, 怎么定义一个指针p,使得它能替代数组名a? 比如对于访问一
  • 如果对象是二维数组,则切片应当是x[:]形式,里面有个冒号,冒号之前和之后分别表示对象第0个维度和第1个维度;如果对象是三维数组,则切片应当是x[::],里面有两个冒号,分割出三个间隔,三个间隔前、中和...
  • 一维数组 ★定义一个数组 ☆方法1: 格式: int(数组格式)[](两个方括号) test(数组名) = new(表示初始化) int(数组格式) [(数字)例:100](表示数组里可以存放多少数据) 意思是创建新100个存放int数组交给...
  • 依本人的见解,定义个二维数组,可以直接用个指向指针的指针来表示 ...用这个方法实现返回个二维数组的函数。 int **getdp(const char *str1, const char *str2) {  int **dp;  dp = (int **)ma...
  • C++中二维数组传参的方法 首先需要明确,C++中其实没有多维数组,所谓的多维数组,其实就是数组的数组; 另外,数组中元素的个数也是数组类型的部分。 当数组的元素仍然是数组时,通常使用2个维度来定义它,...
  • 二维数组其实还是个数组,简单的说就是数组的每个元素还是个数组。例如:int array[][] = {{1,2,3,},{4,5,6},{7,8,9,10}};共用三个元素,每个元素还是个数组。...下面是两种遍历二维数组的
  • 方法是基于一维数组来思考的,利用一维数组来描绘出二维数组,从而简化对二维数组求最大子数组的难度。即(a[i][j] = a[i*n+j],用一维数组表示二维数组) #include<stdio.h> void ...
  • 指向一维数组的指针变量和指向二维数组的指针变量以及指针数组的区别 一、指向一维数组的指针变量 设一维数组为a[n] 定义方法: *指针变量名 即 *P  这个p一般指向的一维数组的首地址,即p=a,...
  • 一道简单算法题,题目里说要求返回旋转之后维数组,我想当然return了个值,没注意到方法是void。最后看了别人代码才恍然大悟应该将旋转后数组再赋值回最开始数组!!! ...
  • 一维数组:int a[]={1,2,3,4,5,6}; 存储结构:常用的表示方法:(1)a:数组名表示数组首元素的地址&amp;a[0],视为指针int*(2)a+1或者*(a+1):指针指向的地址后移一个单元格,保存&amp;a[1],视为指针int*(3)a[0]:...
  • 第九讲 数组之一 一维数组的定义及排序算法 一 数组和数组元素 一 ...数组元素的表示 3 一维数组的初始化 对数组元素的初始化可以用下面4种方法 定义时赋初值 如int a[5]={0,1,2,3,4}; 只给一部分元素赋值 如int a[5]={
  • 1.一维数组: (1)定义数组: ①数据类型[ ] 数组名=new 数据类型[数组长度]; ②数据类型 数组名[ ]=new 数据类型[数组长度]; (2)数组元素表示与赋值: 数组下标从0到数组长度减一,例如: score[0]=65表示...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,698
精华内容 679
关键字:

一维数组的表示方法