JAVA資料結構與演算法(一)單鏈表

2021-09-22 10:09:02 字數 1947 閱讀 5372

1.單鏈表

鍊錶是最基本的資料結構,其儲存的你原理圖如下圖所示

鍊錶的增加操作

鍊錶的刪除

鍊錶的插入:

1、頭插法:每次把新插入的節點當著頭結點;

2、尾插法:每次把新插入的節點放在尾部;

3、指定位置插入法:每次在指定位置插入某個節點。

鍊錶的刪除:

刪除指定位置上的某個節點

鍊錶的查詢:

1、根據節點位置查詢該節點;

2、根據節點查詢節點存放的位置

編寫node類

public

class

nodedemo

public

node

(t data, node next)

}private node head;

//鍊錶的頭結點

private node tail;

//鍊錶的尾節點

int size;

public

nodedemo()

public

nodedemo

(t data)

在尾部插入

public

void

addtailnode

(t element)

else

size++

;}

在頭部插入

public

void

addheadnode

(t element)

}

在指定位置插入

public

void

addindexnode

(t element,

int index)

else

else

}}

根據結點查詢節點存放的位置

public

intfindindexbynode

(t element)

current = current.next;

index++;}

return-1

;}

根據節點位置刪除指定位置的節點

public t deletenode

(int index)

if(index ==0)

else

return dnode.data;

}

清空鍊錶

public

void

clear()

判斷鍊錶是否為空

public

boolean

isempty()

列印鍊錶

public string tostring()

return sb.

tostring()

;}

測試

public

static

void

main

(string[

] args)

資料結構與演算法 單鏈表(一)

單鏈表的頭插法,插入時就是逆序。insertlist 還不完善。include include define error 0 define ok 1 typedef int status typedef int elemtype typedef struct nodenode typedef str...

單鏈表(演算法與資料結構)

鍊錶 單鏈表 為每個結點新增1個指標域,每個結點包括兩個域 資料域 存放元素本身資訊 指標域 存放後繼結點的儲存位置 指向鍊錶中第乙個結點的指標,稱為這個鍊錶的頭指標。最後乙個元素的指標不指向任何結點,稱為空指標,圖示中用 表示,在演算法中用 null 表示 帶頭結點的單鏈表 頭結點 可以不存資訊,...

資料結構與演算法 單鏈表

鍊錶是有序的列表,但是它在記憶體中是儲存如下 鍊錶是以節點的方式來儲存的 鍊錶的各個節點不一定是連續儲存的 鍊錶分帶頭結點的鍊錶和不帶頭結點的鍊錶 新增先建立乙個 head 頭結點,作用就是表示單鏈表的頭 後面我們每新增乙個結點,就直接加入到鍊錶的最後 遍歷 通過乙個輔助變數,幫助來遍歷整個鍊錶 第...