玩資料結構和演算法 實現屬於自己的鍊錶

2021-10-08 23:47:46 字數 3801 閱讀 5304

參考:

鍊錶:鍊錶:

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