參考:
鍊錶:鍊錶:
public
class
linkedlist
public
node
(e e)
public
node()
@override
public string tostring()
}private node dummyhead;
private
int size;
public
linkedlist()
// 獲取鍊錶中的元素個數
public
intgetsize()
// 返回鍊錶是否為空
public
boolean
isempty()
// 在鍊錶的index(0-based)位置新增新的元素e
// 在鍊錶中不是乙個常用的操作,練習用:)
public
void
add(
int index, e e)
// 在煉表頭新增新的元素e
public
void
addfirst
(e e)
// 在鍊錶末尾新增新的元素e
public
void
addlast
(e e)
// 獲得鍊錶的第index(0-based)個位置的元素
// 在鍊錶中不是乙個常用的操作,練習用:)
public e get
(int index)
// 獲得鍊錶的第乙個元素
public e getfirst()
// 獲得鍊錶的最後乙個元素
public e getlast()
// 修改鍊錶的第index(0-based)個位置的元素為e
// 在鍊錶中不是乙個常用的操作,練習用:)
public
void
set(
int index, e e)
// 查詢鍊錶中是否有元素e
public
boolean
contains
(e e)
return
false;}
// 從鍊錶中刪除index(0-based)位置的元素, 返回刪除的元素
// 在鍊錶中不是乙個常用的操作,練習用:)
public e remove
(int index)
// 從鍊錶中刪除第乙個元素, 返回刪除的元素
public e removefirst()
// 從鍊錶中刪除最後乙個元素, 返回刪除的元素
public e removelast()
// 從鍊錶中刪除元素e
head插入刪除都容易,tail刪除元素不容易,所以使用鍊錶實現佇列,我們從head端刪除元素,從tail端插入元素
資料結構和演算法 棧的實現
02stack.cpp include using namespace std include typedef string t class stack void push const t d throw const char 資料入棧成為棧頂 t pop throw const char 棧頂資料...
資料結構和演算法 java實現棧結構
棧的定義 棧 stack 是限制僅在表的一端進行插入和刪除運算的線性表。1 通常稱插入 刪除的這一端為棧頂 top 另一端稱為棧底 bottom 2 當表中沒有元素時稱為空棧。3 棧為後進先出 last in first out 的線性表,簡稱為 lifo 表。棧的修改是按後進先出的原則進行。每次刪...
資料結構和演算法
判斷乙個演算法的效率時,函式中的常數和其它次要項常常可以忽略,而更應該關注主項 最高項 的階數。演算法時間複雜度的定義 在進行演算法分析時,語句中的執行次數t n 是關於問題規模n的函式,進而分析t n 隨n的變化情況並確定t n 的數量級。演算法的時間複雜度,也就是演算法的時間量度,記作 t n ...