資料結構之(陣列Array)

2021-09-13 14:01:49 字數 2539 閱讀 1340

1.什麼是陣列

2.陣列的優點和缺點

3.案例怎麼實現動態陣列

4.總結

1.什麼是陣列?
所謂陣列,是有序的元素序列。若將有限個型別相同的變數的集合命名,那麼這個名稱為陣列名。組成陣列的各個變數稱為陣列的分量,也稱為陣列的元素,有時也稱為下標變數。用於區分陣列的各個元素的數字編號稱為下標。陣列是在程式設計中,為了處理方便, 把具有相同型別的若干元素按無序的形式組織起來的一種形式。這些無序排列的同類資料元素的集合稱為陣列。

陣列在記憶體存放的結構圖

2.陣列的優點和缺點

優點:

缺點:

適用場景:

頻繁查詢,對儲存空間要求不大,很少增加和刪除的情況。

3.案例怎麼實現動態陣列

public

class

array

// 無引數的建構函式,預設陣列的容量capacity=10

public

array()

// 獲取陣列的容量

public

intgetcapacity()

// 獲取陣列中的元素個數

public

intgetsize()

// 返回陣列是否為空

public

boolean

isempty()

// 在index索引的位置插入乙個新元素e

public

void

add(

int index, e e)

// 向所有元素後新增乙個新元素

public

void

addlast

(e e)

// 在所有元素前新增乙個新元素

public

void

addfirst

(e e)

// 獲取index索引位置的元素

public e get

(int index)

// 修改index索引位置的元素為e

public

void

set(

int index, e e)

// 查詢陣列中是否有元素e

public

boolean

contains

(e e)

return

false;}

// 查詢陣列中元素e所在的索引,如果不存在元素e,則返回-1

public

intfind

(e e)

return-1

;}// 從陣列中刪除index位置的元素, 返回刪除的元素

public e remove

(int index)

// 從陣列中刪除第乙個元素, 返回刪除的元素

public e removefirst()

// 從陣列中刪除最後乙個元素, 返回刪除的元素

public e removelast()

// 從陣列中刪除元素e

public

void

removeelement

(e e)

//測試輸出

@override

public string tostring()

res.

(']');

return res.

tostring()

;}// 將陣列空間的容量變成newcapacity大小

private

void

resize

(int newcapacity)

}

具體實現動態的陣列**塊如下

// 建構函式,傳入陣列的容量capacity構造array

public

array

(int capacity)

// 無引數的建構函式,預設陣列的容量capacity=10

public

array()

// 將陣列空間的容量變成newcapacity大小

private

void

resize

(int newcapacity)

通過使用者傳入指定來建立陣列容量,如果不指定預設容量是根據使用者使用來生成大小容量,從而實現了動態的效果。

如果看了該案例還是不明白,這裡筆者貼出具體案例的源**:day01-array 可以檢視源**進行分析。

5.總結

陣列主要作用是用於存放對個相同資料型別的元素的集合,根據陣列下標的方式來訪問陣列元素,具有很高的效率,缺點就是陣列的容量有限制,如果對於實現動態擴容,您可以參照博主上面的案例進行深一步的研究。

資料結構之Array

python資料結構之array import ctypes class array def init self,size assert size 0,array size must be 0 self.size size pyarraytype ctypes.py object size self...

JS資料結構 Array陣列

陣列array 建立 1.使用方括號 進行建立和初始化 var arr 建立乙個空陣列 var arr 1,2,3 建立乙個包含數字的陣列 2.使用array建構函式 var arr new array 建立空陣列 var arr new array 1,2,3 建立包含數字的陣列 var arr ...

Golang基礎 資料結構 陣列(array)

var 變數名 元素數量 長度 元素型別 例如 var a 5 intvar b 4 int注意 1.陣列是多個相同型別資料的組合,乙個組合一旦宣告或定義,其長度是固定的,不能動態變化 2.陣列中的元素可以是任何資料型別,包括值型別和引用型別,但是不可以混用 3.建立後,如果沒有賦值,預設零值 4....