您的位置:

java中的锯齿数组是什么(java中的锯齿数组是什么意思)

本文目录一览:

c#用锯齿数组的问题

即然叫锯齿数组,那每一行的列数都可能是不同的,你用y[0].Length就可以取到5,同样用y[1].Length取到2,而y.Lengh得到的就是整个锯齿数组的行数。

C#入门(数组排序,二维数组,锯齿数组,输出蛇形矩阵)

冒泡排序

冒泡排序是数组的基础排序方法

int[] intArray = { 1, 5, 5, 79, 54, 10, 55, 15 };

int temp = 0;

for (int i = 0; i intArray.Length; i++) { //控制趟数

    for (int j = 0; j intArray.Length - i -1; j++) {//每趟比较次数

     if (intArray [j] intArray [j + 1]) {//交换位置

      temp = intArray [j];

      intArray [j] = intArray [j + 1];

      intArray [j + 1] = temp;

     }

    }

   }

   Console.WriteLine (sw.Elapsed);

   foreach (var item in intArray) {

    Console.WriteLine (item);

   }

Array.Sort (intArray);//系统内置的排序方法是桶排序

foreach (var item in intArray) {

Console.WriteLine (item);

}

相对于自己写的冒泡排序系统的内置排序方法会更加快,冒泡排序只在数组中数字较少的时候,速度快。

一般来说系统内置的排序方法,也就是桶排序,是最快的。

二维数组的第一种定义方法

int[,] twoint = new int[3,3];

int[,] twoim = {

{ 1, 2, 34, 8, 4 },

    { 4, 8, 6, 4, 3 },

    { 8, 4, 87, 6, 45 },

    { 12, 10, 5, 7, 9 }

   };

二维数组的遍历,也就是用两个for循环嵌套输出

for (int i = 0; i 4; i++) {

// for (int j = 0; j 5; j++) {

// Console.Write (twoim[i,j] + " ");

// }

// Console.WriteLine ();

// }

定义二维数组的第二种方法

锯齿数组

   int[][] twoim = new int[3][];

   twoim [0] = new int[]{ 1, 2, 3 };

   twoim [1] = new int[]{ 1, 2, 3,4};

   twoim [2] = new int[]{ 1, 2, 3,4,5};

锯齿数组也就是每行可能有不同的列的数组。

锯齿数组的遍历方法

for (int i = 0; i twoim.Length; i++) { //twoim.Length 相当于是二维数组的行数

for (int j = 0; j twoim[i].Length; j++) {//twoim[i].Length 相当于二维数组每行的列数

Console.Write(twoim[i][j]);

    }

    Console.WriteLine ();

   }

总结二维数组

第一种声明格式:int[,] 遍历访问时要采取arr[i,j]的方式进行访问

第二种声明格式:int[][],此种写法的二维数组实际上是由多个一维数组构成,

可以不声明列数,但是必须声明行数,访问方式是:arr[i][j];

//输入n(n 10),代表矩阵n*n,输出蛇形矩阵。

//例如:n = 3时,输出:

//1 2 3

//8 9 4

//7 6 5/

/n = 4时,输出:

//1  2  3  4

//12 13 14  5

//11 16 15  6

//10 9  8  7

//int n = int.Parse (Console.ReadLine ());

int[,] intArray = new int[n,n];

for (int i = 0; i n; i++) 

{

for (int j = 0; j n; j++) 

{

intArray [i,j] = 0;

}

}

int value = 1;

int max = n * n;

int a = 0;

int b = 0;

intArray [a, b] = value;

for (;valuemax;)

while (b + 1 n intArray [a, b + 1] == 0) {  //向右

intArray [a, ++b] = ++value;

}

while (a + 1 n intArray [a + 1, b] == 0) {  //向下

intArray [++a, b] = ++value;

}

while (b - 1 = 0 intArray [a, b - 1] == 0) {  //向左

intArray [a, --b] = ++value;

}

while (a - 1 = 0 intArray [a - 1, b] == 0) {  //向上

intArray [--a, b] = ++value;

}

}

for (int i = 0; i n; i++) {

for (int j = 0; j n; j++) {

Console.Write (intArray[i,j]+" ");

}

Console.WriteLine ();

}

关于java中二维数组输出的问题

所谓的二维数组其实是数组的数组(每个一维数组的长度可以不同,所以二维数组也称为锯齿数组)。假设有:

int[][] arr={new int [1] {1},new int [2] {2,3},new int [3] {4,5,6}};

则二维数组arr.length等于3,表示它由3个一维数组组成,即3行。

arr[0].length表示第1个一维数组的长度1,即1列。

arr[1].length表示第2个一维数组的长度2,即2列。

arr[2].length表示第3个一维数组的长度3,即3列。

所以,这个二维数组看起来像这个样子:

1

2,3

4,5,6

它每一行的长度都不同。

对于你的二维数组,score.length表示行数4,即二维数组由4个一维数组组成。

而score[i].length、score[j].length表示第i+1行、第j+1行的列数,由于score是列数等长的二维数组,它们都等于3。score.length与score[i].length和score[j].length,3者表示不同的含义,不可混用(尽管它们的值可能相同)。

请问java中锯齿数组是2维数组吗

不是,举个例子来说,锯齿数组是int[i][j],二维数组则是int[i,j]

差别是二维数组总是包含i * j个元素的矩阵。而锯齿数组则未必。

java中数组定义是什么?

java中数组的定义:

字符串数组:

1、String[] str=new String[5];

2、String[] str=new String[]{"a","b"};

3、String[] str={"a","b"};

整形数组:

1、int[] i=new int[5];

2、int[] i=new int[]{0,1};

3、int[] i={0,1};

其他数组定义的方法类似!

C#语言中如何定义锯齿数组?

int [][]=new [3][]; //声明一个三列的锯齿数组

int[0]=new int[3];

int [1]=new int [5];

.........