今天咱們了解下c#中的陣列
後面會講到集合、泛型集合
咱們分開來講,免得出現混亂
講完這三個,咱們再彙總一下,看看有什共同點和不同點
定義乙個陣列:
1兩種定義方式int i = new
int[5];2
3int j = new
int ;
陣列定義:
一定要規定長度、一定要規定型別
當然,上面是int型別的陣列,你也可以定義string型別的陣列,但是陣列就一定要有長度和型別的限制
那咱們一起來嘗試下c#中的氣泡排序,咱們分別用int型和string型來做
int型別的氣泡排序
**貼入
1string型別int i = new
int ;23
4for (int a = 0; a < i.length; a++)514
}15console.writeline(i[a]);16}
17 console.readline();
**貼入
1下面分別是其效果圖string ss = new
string[5] ;2//
長度從大到小列印出來,從小到大列印出來
3for (int i = 0; i < ss.length; i++)413
}14console.writeline(ss[i]);15}
16 console.readline();
int型別是依照其大小判斷
string型別是依照其長度大小來判斷
2017-11-04 11:49:38
陣列再充實
建立陣列
1多維陣列byte a = new
byte[5]; //
建立乙個名為a,長度為5的byte型一維陣列。23
int a = new
int[5] ; //
也可以採用初始化方式同時給賦值。45
double[,] d = new
double[2, 3]; //
建立二維陣列67
double[,] d = new
double[,] , , , }; //
宣告乙個4行2列的二維陣列並賦值
1動態陣列int[, ,] s = new
int[3, 3, 3];2
for (int i = 0; i < 3; i++) //
通過三個for迴圈對該三維陣列進行賦值310
}11}12
foreach (int k in s) //
用foreach迴圈輸出陣列中的所有元素導控制台顯示
1316 console.readkey();
3、動態陣列
arraylist類包含在system.collections 命名空間中。
capacity:獲取或設定 arraylist 所包含的元素數。
count:獲取 arraylist 所包含的實際元素數。
add():將物件新增到 arraylist 的結尾處。
clear():從 arraylist 中移除所有元素。
contains():確定某元素是否在 arraylist 中。
insert():將物件插入到 arraylist 的指定索引處。
removeat():移除 arraylist 的指定索引處的元素。
reverse():將指定範圍內元素的順序反轉。
sort():用指定的比較器對 arraylist 某個範圍內的元素進行排序。
1 arraylist a1 = new2017-11-04 11:52:19arraylist();2//
向arraylist 結尾處新增4種不同型別的物件
3 a1.add(0.05f
);4 a1.add("
sss"
);5 a1.add('s'
);6 a1.add(3
);7 console.writeline("
當前arraylist 裡的全部元素如下:");
8for (int i = 0; i < 4; i++)
912 console.writeline("
\n 當前 arraylist 裡的元素個數共有:");
13console.writeline(a1.count);
14 a1.insert(1, "
aaa"); //
在arraylist 索引值為1處新增字串aaa
15for (int i = 0; i < 5; i++)
1619 console.writeline("
\n 倒序後當前arraylist 裡的全部元素如下:");
20a1.reverse();
21for (int i = 0; i < 5; i++)
2225 console.writeline("
\n 刪除後當前arraylist 裡的全部元素如下:");
26 a1.removeat(2
);27
for (int i = 0; i < 4; i++)
2831 console.readkey();
2017-11-06 11:39:26
陣列去重
1注釋掉的是另外一種方式,不過個人喜歡遍歷的方式輸出,理解起來簡單int x = new
int ;23
int i =x.distinct().toarray();45
//for (int k = i.length - 1; k >= 0; k--)6//
9foreach (int j in
i)10
1314
1516 console.readline();
2017-11-06 11:41:26
樹狀陣列區間修改
有時,我們要支援區間修改,區間查詢。線段樹可以做到。但是樹狀陣列更好寫。1d的情況 設 b i a i a i 1 則 a i b 1 b i a 1 a l b 1 b 1 b 2 b 1 b l a 1 a l l b 1 l 1 b 2 b l sum l i 1 b i 如果我們維護 b i...
樹狀陣列的點 線修改
luogu3374 已知乙個數列,你需要進行下面兩種操作 1.將某乙個數加上x 2.求出某區間每乙個數的和 define file include include include include include include include define fr i,a,b for int i a,...
C 記憶體修改
先通過 system.diagnostics.process類獲取想要編輯的程序 呼叫api flags public enum processaccesstype dllimport kernel32.dll public static extern intptr openprocess uint...