四 陣列 小白禿頭史05

2021-10-12 09:30:58 字數 3384 閱讀 5163

陣列是一種容器,可以同時存放多個資料值

1.陣列是一種引用資料型別

2.陣列只能儲存是同一種資料類的多個資料

3.陣列的長度在此程式執行期間不可改變

陣列的初始化:在記憶體當中建立乙個陣列,並且向其中賦予一些預設值。

動態初始化(指定長度),在建立陣列的時候指定元素的個數

格式:資料型別 = new 資料型別[陣列長度];

int

array =

newint[6

];

靜態初始化(指定內容),在建立陣列的時候自己插入元素

標準格式:資料型別 = new 資料型別 ;

int

array =

newint

;`

簡寫格式:資料型別 = ;

int

array =

;`

注意事項:雖然靜態初始化沒有直接告訴長度,但是根據大括號裡面的元素具體內容,也可以自動推算出來長度。

左側資料型別:也就是陣列當中儲存的資料,全都是統一的什麼型別

左側的中括號:代表我是乙個陣列

左側陣列名稱:給陣列取乙個名字

右側的new:代表建立陣列的動作

右側資料型別:必須和左邊的資料型別保持一致

右側中括號的長度:也就是陣列當中,到底可以儲存多少個資料,是乙個int數字

使用建議:

如果不確定陣列當中的具體內容,用動態初始化;否則,已經確定了具體的內容,用靜態初始化。

system.out.

println

(array)

;//直接輸出資料得到的是相對應的位址值

system.out.

println

(array[i]);

//得到陣列某個索引相對應的值

for

(int i =

0; i < array.length; i++

)

int

array =

newint[4

][5]

;//給陣列分配了記憶體空間

array[1]

[0]=

45;//給array陣列的第二行第一列賦初值

array[0]

=new

int;

//給第一行分配乙個一維陣列

int

array =

newint

,};//標準

int[

] array =,}

;//省略方法

public

static

void

main

(string[

] args),}

;// 二維陣列的第一種方法遍歷

for(

int i =

0; i < a.length; i++

) system.out.

println()

;}//二維陣列的第二種遍歷

for(

int i[

]: a)

system.out.

println()

;}}

@test

public

void

testarrayexchange()

;for

(int i =

0; i < arrayexchange.length /

2; i++

)for

(int i =

0; i < arrayexchange.length; i++

)}

@test

public

void

testarraymax()

;int max = arraymax[0]

;for

(int i =

1; i < arraymax.length; i++)}

system.out.

println

("最大值是:"

+ max)

;}

@test

public

static

void

bubbling()

;for

(int i =

0; i < arr.length -

1; i++)}

}for

(int i : arr)

}

@test

public

static

void

select()

;for

(int i =

0; i < array.length -

1; i++

)int temp = array[array.length -

1- i]

; array[array.length -

1- i]

= array[index]

; array[index]

= temp;}}

for(

int i : array)

}

boolean equals(int a,int b) 判斷兩個陣列是否相等

string tostring(int a) 輸出陣列資訊

void fill(int a,int val) 將指定值填充到陣列之中

void sort(int a) 對陣列進行排序。

int binarysearch(int a,int key) 對排序後的陣列進行二分法檢索指定的值。

陣列腳標越界異常(arrayindexoutofbound***ception)

int

arr =

newint[2

];system.out.

println

(arr[2]

);system.out.

println

(arr[-1

]);//訪問到了陣列中的不存在的腳標時發生

空指標異常(nullpointerexception)

int

arr = null;

system.out.

println

(arr[0]

);//arr引用沒有指向實體,卻在操作實體中的元素時。

樹狀陣列 小白

樹狀陣列 bit 是一種利用樹的2進製特徵進行檢索的樹狀結構。樹狀結構是一種奇妙的資料結構,不僅非常高效,而且 十分簡潔 比線段樹的 要短且更易理解,但是可以解決的問題也是有限的,沒有線段樹那麼廣泛 樹狀陣列就是用來 動態的求字首和 的時間複雜度在log n之內 一般來說就是兩個操作 1.單點修改 ...

小白學習,c 基礎(四)

巨集函式 帶引數 的缺點 第乙個在c中也會出現,巨集看起來像乙個函式呼叫,但是會有隱藏一些難以發現的錯誤。第二個問題是c 特有的,預處理器不允許訪問類的成員,也就是說預處理器巨集不能用作類的成員函式 內聯函式 內聯函式為了繼承巨集函式的效率,沒有函式呼叫時開銷,然後又可以像普通函式那樣,可以進行引數...

元小白(猿小白)高階日記 七(陣列)

陣列是一類相同元素的集合。一 一維陣列 1 陣列的建立 type t arr name const n type t 是指數組的元素型別 const n 是乙個常量表示式,用來指定陣列的大小,即元素個數 例如 int arr1 10 char arr2 30 float arr3 33 2 陣列的初...