什麼是陣列
陣列是一種順序儲存的線性表,所有元素的儲存的記憶體位址都是連續的。
動態陣列
在很多程式語言中,陣列建立後是容量是固定的,但是實際開發中,我們更希望能動態的改變陣列的容量;
介面設計
int
size()
;// 元素的數量
boolean
isempty()
;// 是否為空
boolean contains (
int element)
;// 是否包含某個元素
void add (
int element)
;// 新增元素到最後面
int get (
int index)
;// 返回index位置對應的元素
int set (
int index,
int element)
;// 設定index位置的元素
void add (
int index,
int element)
;// 往index位置新增元素
int remove (
int index)
;// 刪除index位置對應的元素
int indexof (
int element)
;// 檢視元素的位置
void clear ();
// 清除所有元素
void
rangecheck
(int index)
;//檢測index是否越界
void
ensurecapacity
(int capacity); //add方法的時候進行擴容
**實現
新增方法:
//新增元素到最後面
public
void
add(
int element)
//指定位置新增元素
public
void
add(
int index,
int element)
elements[index]
= element;
size++
;}
刪除方法:
//刪除指定索引的元素
public
intremove
(int index)
size--
;return old;
}//清空元素
public
void
clear()
修改方法:
//修改元素
public
intset
(int index,
int element)
檢視方法:
//檢視index的元素
public
intget
(int index)
//檢視元素索引
public
intindexof
(int element)
return element_not_find;
}//是否包含某個元素
public
boolean
contain
(int element)
總的**
//方法總結:、
// 元素個數相關:數量,是否為空
// 增刪改查
public
class
arraylist
public
arraylist
(int cacacity)
//元素的數量
public
intsize()
//是否為空
public
boolean
isempty()
//新增元素到最後面
public
void
add(
int element)
//指定位置新增元素
public
void
add(
int index,
int element)
elements[index]
= element;
size++;}
//刪除指定索引的元素
public
intremove
(int index)
size--
;return old;
}//清空元素
public
void
clear()
//修改元素
public
intset
(int index,
int element)
//檢視index的元素
public
intget
(int index)
//檢視元素索引
public
intindexof
(int element)
return element_not_find;
}//是否包含某個元素
public
boolean
contain
(int element)
/* * 擴容操作
*/private
void
ensurecapacity
(int capacity)
elements = newelements;
}// 下標越界丟擲的異常
private
void
outofbounds
(int index)
// 檢查下標越界(不可訪問或刪除size位置)
private
void
rangecheck
(int index)
}// 檢查add()的下標越界(可以在size位置新增)
private
void
rangecheckforadd
(int index)
}@override
public string tostring()
string.
("]");
return string.
tostring()
;}}
注:僅用於學習交流 搞懂資料結構 樹結構
樹結構是一種非常重要的非線性結構,反應了資料元素之間的層次關係和分支關係。樹的表示方法 根據樹中節點的各子樹從左到右是否有次序,能否交換分為 二叉樹並非是樹的特殊情形,它和度數為2的有序樹是兩種不同的資料結構。二叉樹的儲存結構可分為順序儲存和鏈式儲存。順序儲存 二叉樹的順序儲存結構就是把二叉樹的所有...
資料結構 動態陣列
int a newint 2 3 定義乙個兩行雜湊的陣列 靜態陣列 int b newint 2 定義行數,列數可變 陣列的儲存 int a newint 10 一維陣列 int a newint 2 3 二維陣列 int a newint 2 3,4 三維陣列 陣列儲存的特點靜態陣列 int a ...
搞懂資料結構 棧和佇列
棧是一種特殊的線性表 被限制的線性表 只允許在表的一端進行刪除和插入運算。能夠進行運算的一端稱為棧頂,另一端稱為棧底。每次刪除元素稱為彈棧pop,每次插入元素稱為壓棧push。棧按照儲存結構又分為順序棧和鏈式棧。棧是一種特殊的線性表,線性表按照儲存結構分為順序儲存和鏈式儲存。同樣,棧根據儲存結構分為...