一、數組分類
數組可以簡單分為3類:
- 1維數組
- 2維數組
- 交錯數組
二、數組初始化
1.一維數組
int [] A = { 1,2,3,4 } 直接賦值
或者
int [] A = new int [4]{ 1,2,3,4 } new一下,並聲明大小
2.二維數組
每行個數必須相同,適合規整的數據存儲;
int[,] AA={ {1,2 }, { 4,5 }, {6,7 } }; 直接賦值
int[,] AA=new int[ , ] { {1,2 }, { 4,5 }, {6,7 } };new一下
int[,] AA=new int[3,2] { {1,2 }, { 4,5 }, {6,7 } };new 並同時聲明大小
注意:沒有聲明子項長度時,數組每個子項的大小,必須和第一個子項相同。
3.交錯數組
每項的個數不一定相同,自由度較高;
int[][] AAA = { new int[]{1}, new int[]{1,2}, new int[]{3,2} };
注意:交錯數組和二維數組的區別是,交錯數組並不限制子項的大小一致。
三、數組常用函數
int A[]的各種函數其實是由Array類來提供的,下面是Array的屬性和方法:
函數名 |
方法 |
示例 |
Clear 清空 |
Clear(Array array, int index, int length); 根據元素的類型,設置數組中某個范圍的元素為零、為 false 或者為 null。 |
Array.Clear(A,0,3); |
Copy 復制 |
void Copy(Array sourceArray, Array destinationArray, int length); 從一個數組A復制某范圍內地 數據到另一個數組B |
Array.Copy(A, B, 3); |
GetLength 獲得長度 |
int GetLength(int dimension); 獲得長度 |
A.GetLength(); |
GetValue 獲得某下標的值 |
Object GetValue(Int32) 獲取一維數組中指定位置的值。索引由一個 32 位整數指定。 |
Object obj = A.GetValue(1) 等價於 A[1] |
SetValue 設置某下標的值 |
void SetValue(object value, int index); 當前表示設置1維數組A[index]=value; void SetValue(object value, long index1, long index2); 當前表示設置2維數組A[index1][index2]=value; |
A.SetValue(10,1); 等價於 A[1]=10 |
IndexOf 查找
|
int IndexOf(Array array, object value); 第一個出現value數值的位置 |
略 |
int LastIndexOf(Array array, object value, int startIndex); 最好出現value數值的位置 |
略 |
|
Sort 排序 |
Sort(Array array) 將數組按照某個規則排序 |
下面詳解 |
Reverse 翻轉 |
void Reverse(Array array); 將數組翻轉 |
略 |
Resize 重設大小 |
void Resize<T>(ref T[] array, int newSize); 重新設置數組大小 |
略 |
更多函數,請詳見:class Array類
四、重點函數詳解
(1)Sort排序:
void Sort(Array array); 默認排序
void Sort(Array array, int index, int length); 從index開始,截取length長度的數據排序
void Sort(Array array, IComparer comparer); 常規的int/string類型數據,自定義排序
void Sort<T>(T[] array, Comparison<T> comparison); 結構體、類等復雜的數據類型 排序,在comparison自定義排序規則
void Sort(Array keys, Array items); 兩組數組一起排序,結果按照數組keys的默認排序來排。
void Sort(Array keys, Array items, IComparer comparer); 兩組數組一起排序,結果按照數組keys的自定義排序來排。
(2)Resize重新設置大小:
void Resize<T>(ref T[] array, int newSize);
此方法分配指定大小的新數組,將元素從舊的數組復制到新,然后使用新替換舊的數組。array必須是一維數組。