七、二维数组

1.只有一个下标的数组称为一维数组,有两个下标的数组称为二维数组,有N个下标的数组称为n维数组。

2.二维数组定义:

类型说明符 数组名[常量表达式1][常量表达式2] = {值1,值2,...};

int a[2][3] = {{7,6,3},{2,8,5}}; 说明2行3列的数组

3.常量表达式1表示第一维下标的长度

常量表达式2表示第二维下标的长度

4.二维数组的元素也称为双下标变量

5.赋值一般与两层for循环嵌套(双循环)使用。外层循环控制行数,内层循环控制每行对应的列数。

6.二维数组的用途:游戏地图(1表示此处是障碍物,0表示此处可以通过);电影院购票(1表示此位置已经卖过,0表示此位置还有票)。

7.注意事项:

(1)二维数组定义时,可以不指定第一维的长度,但是必须给定第二维。

(2)元素个数不足,会自动补齐

8.右左原则,先读右边,遇到括号反向。

//二维数组交换
//        int a[2][3] = {0} , b[3][2] = {0};
//        for (int i = 0; i < 2; i ++) {//控制二维数组行数的输出
//            for (int j = 0; j < 3; j ++) {//控制二维数组列数的输出
//                a[i][j] = arc4random()%(100 - 10 + 1) + 10;//随机生成数组
//                printf("%d ",a[i][j]);//输出数组
//            }
//            printf("\n");//一行输出完成后,换行
//        }
//        printf("交换之后\n");
//        for (int i = 0; i < 2; i ++) {//控制被交换二维数组的行数
//            for (int j = 0; j < 3; j ++) {//控制被交换二维数组的列数
//                b[j][i] = a[i][j];//交换后的数组的列数=行数,行数=列数
//            }
//        }
//        for (int i = 0; i < 3 ; i ++) {
//            for (int j = 0; j < 2; j ++) {
//                printf("%d ",b[i][j]);
//            }
//            printf("\n");
//        }
        //二维数组找最大值,确定最大值的位置,如果多个,输出多个
//        int number[2][3] = {0};
//        int max = 0;
//        for (int i = 0; i < 2; i ++) {
//            for (int j = 0; j < 3; j ++) {
//                number[i][j] = arc4random()%(100 - 10 + 1) + 10;
//                printf("%d ",number[i][j]);
//            }
//            printf("\n");
//        }
//        for (int i = 0; i < 2; i ++) {
//            for (int j = 0; j < 3; j ++) {
//                max = max > number[i][j] ? max : number[i][j];
//            }
//        }
//        printf("max=%d\n",max);
//        for (int i = 0; i < 2; i ++) {
//            for (int j = 0; j < 3; j ++) {
//                if (max == number[i][j]) {
//                    printf("i=%d j=%d",i,j);
//                    //break;//只输出一个
//                }
//            }
//        }

//        printf("\n");

9.一位数组,只有下标概念,给出数组名和下标就可以操作。

时间: 2024-12-12 23:20:21

七、二维数组的相关文章

环状二维数组最大子数组和

一.题目: 返回一个二维整数数组中最大子数组的和.二.要求:    输入一个二维整形数组,数组里有正数也有负数.二维数组首尾相接,象个一条首尾相接带子一样.数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和.求所有子数组的和的最大值.要求时间复杂度为O(n). 三.成员 编写程序者:岳竞一 协同者:付东 四.编程思路 首先,根据一维数组原理,可以先求出每个行数组的最大子数组和. 然后,将二维3行数组分写成5行子数组的数组,3,4行为1,2和2,3行一起的子数组,5行为,1,2,3行的

二维数组里,根据数组字段为条件,进行总体排序(二维排序)

1 <?php 2 /** 3 * 二维数组根据某个字段排序 4 * 功能:按照用户的年龄倒序排序 5 * @author ruxing.li 6 */ 7 header('Content-Type:text/html;Charset=utf-8'); 8 $arrUsers = array( 9 array( 10 'id' => 1, 11 'name' => '张三', 12 'age' => 25, 13 ), 14 array( 15 'id' => 2, 16 '

0728二维数组/集合

二维数组int [,] array = new int[5,3];//有五个一维数组,每一个一维数组有3个元素 /打印出来一个“王”这个字string[,] wang = new string[,]{  {" ","■","■","■","■","■"," "}, {" "," "," ","■&q

PHP 二维数组根据某个字段排序

原文:PHP 二维数组根据某个字段排序 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 遇到这个要求的时候就不是 ORDER BY 能解决的问题了.因此翻看 PHP 手册查找到了如下方法,做此笔记. <?php /** * 二维数组根据某个字段排序 * 功能:按照用户的年龄倒序排序 * @author ruxing.li */ header('Content-Type:text/html;Charset=utf-8'

二维数组与集合

//int[] shu = new int[] { 1,2,3}; ////二维数组 //int [,] array = new int[4,2]; ////4,表示有四个一维数组 ////2,表示每一个一维数组有2个元素 //int[,] shuzu = new int[,] //{ //{1,2}, //{3,4}, //{5,6}, //{7,8} //}; //for (int i = 0; i < 4; i++) //{ // for (int j = 0; j < 2; j++)

PHP二维数组如何根据某个字段排序

分享下PHP二维数组如何根据某个字段排序的方法. 从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 本文记录的要实现的功能类似于 MySQL 中的 ORDER BY,上个项目中有遇到这样的一个需求. 要求:从两个不同的表中获取各自的4条数据,然后整合(array_merge)成一个数组,再根据数据的创建时间降序排序取前4条. 这个要求就不是 ORDER BY 能解决的问题了.因此翻看 PHP手册查找到了如下方法,做此笔记.

7.28 二维数组,集合

int [,] array = new int[4,2];//4,表示有四个一维数组//2,表示每一个一维数组有2个元素int[,] shuzu = new int[,] {{1,2},{3,4},{5,6},{7,8} };for (int i = 0; i < 4; i++){for (int j = 0; j < 2; j++){Console.Write(shuzu[i,j]+"\t");}} 打印出来一个“王”这个字string[,] wang = new str

5.9 二维数组

二维数组 定义二维数组 Int  [,]myArray =new    int[几个一维数组,数组中的个数]; 数组可以具有多个维度.例如:下列声明创建一个四行两列的二维数组(可以理解为4个1维数组,数组中包含2个元素): Int [,] myArray=new  int[4,2]; Int [,] myArray=new  int[4,2]  {{1,2},{3,4},{5,6},{7,8}}; 取值则是 Int  i= myArray[0,0] 输出结果i为:1 Int i=myArray[

14-高效求最长公共子序列(二维数组存不下)

/*                                   See LCS again时间限制:1000 ms  |  内存限制:65535 KB难度:3 描述 There are A, B two sequences, the number of elements in the sequence is n.m; Each element in the sequence are different and less than 100000. Calculate the length