程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> (教學思路 C#數組二)數組的屬性、foreach遍歷、交錯數組與矩形數組的區別(2)

(教學思路 C#數組二)數組的屬性、foreach遍歷、交錯數組與矩形數組的區別(2)

編輯:關於C語言

這兩種代碼執行的結果是一樣的都是 每行一個元素,共8行,元素分別是1 2 3 4 5 6 7 8

下面我們再做個例子,是一個利用for和foreach循環做的存取數組元素的例子,首先提示用戶輸入學生的個數,然後把學生個數作為存儲學生姓名的數組names的元素個數,采用for循環按照數組的索引i從0位開始循環輸出“輸入學生姓名”的提示,並把用戶輸入的學生姓名按照其在數組的索引方式names[i]存儲在names數組中,for循環次數的最大值(即索引的最大值)通過數組屬性.Length得到,上節課我們說過容量與索引之間的關系是index=Array.Length-1,本題即i的最大值<names.Length,存儲後,提示“輸出學生姓名”,再用foreach循環一次性遍歷names數組中存儲的每個元素(學生的姓名),一個一個的把它賦值給name元素,然後輸出到控制台上。

通過這個例子,我們復習了在c語言中就學到的for循環,用索引方式存儲數組元素的值,以及今天學習的.length屬性、foreach遍歷的用法,必須注意的是,借助foreach,只能一一取得數組中的元素,並不能利用這種語句改變數組所存儲的元素。做個foreach和for的使用是你必須熟練掌握的編程技能,同學們要引起重視。

下面我們來學習交錯數組,也稱鋸齒形數組,是一種不規則的二維數組,它與矩形數組(二維數組)最大的差異,在於數組中每一行的長度並不相同,我們可以把它想象成有不同長度的一維數組組合而成的二維數組,所以交錯數組也被稱為“數組中的數組”,它比規格的矩形數組節省了內存空間,當同時也要在創建和使用時按照其特點進行操作。創建交錯數組所使用的語法不同於前面的矩形數組,必須使用兩個[]運算符,第一個代表[n]代表行數。看下面的圖片,用圖片的實例為大家講解交錯數組的聲明。

交錯數組聲明:行是固定的

第一步:int[][] jaggedArray = new int[4][];

如果采用分布聲明數組元素方式,元素的個數必須書寫,因為交錯數組的行是固定的,而每行的列是不固定的,所以在初始化時必須在第一個[]中寫明行數4.

第二步:交錯數組每行初始化

jaggedArray[0] = new int[6];
jaggedArray[1] = new int[2];
jaggedArray[2] = new int[3];
jaggedArray[3] = new int[5];

給每行看出一個一維數組,再定義列數,然後再給你可以采用索引賦值法,給單個元素賦值。如:

第三步:采用索引賦值法,給單個元素賦值

jaggedArray[2][0] = 5;
jaggedArray[3][4] = 32;

或者你可以將上面的二、三步合並為一步,為每一行都賦值。

第二步:直接給交錯數組初始化賦值
jaggedArray[0] = new int[] { 1, 3, 5, 7, 9,13 };
jaggedArray[1] = new int[] { 0, 2, };
jaggedArray[2] = new int[] { 5,11, 22 };
jaggedArray[3] = new int[] { 3,5,7,10, 32 };

我們還可以在聲明數組時將其初始化,如:

int[][] jaggedArray = new int[][]
{
new int[] {1,3,5,7,9},
new int[] {0,2},
new int[] {5,11, 22 },
new int[] {3,5,7,10, 32}
};

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved