本文目錄一覽:
- 1、c#用鋸齒數組的問題
- 2、C#入門(數組排序,二維數組,鋸齒數組,輸出蛇形矩陣)
- 3、關於java中二維數組輸出的問題
- 4、請問java中鋸齒數組是2維數組嗎
- 5、java中數組定義是什麼?
- 6、C#語言中如何定義鋸齒數組?
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];
………
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/256927.html