C 陣列 修改

2022-07-07 07:39:17 字數 3406 閱讀 1124

今天咱們了解下c#中的陣列

後面會講到集合、泛型集合

咱們分開來講,免得出現混亂

講完這三個,咱們再彙總一下,看看有什共同點和不同點

定義乙個陣列:

1

int i = new

int[5];2

3int j = new

int ;

兩種定義方式

陣列定義:

一定要規定長度、一定要規定型別

當然,上面是int型別的陣列,你也可以定義string型別的陣列,但是陣列就一定要有長度和型別的限制

那咱們一起來嘗試下c#中的氣泡排序,咱們分別用int型和string型來做

int型別的氣泡排序

**貼入

1

int i = new

int ;23

4for (int a = 0; a < i.length; a++)514

}15console.writeline(i[a]);16}

17 console.readline();

string型別

**貼入

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 = new

arraylist();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-04   11:52:19

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...