資料結構 鍊錶的增刪改查底層實現

2021-08-19 21:45:56 字數 2088 閱讀 6171

鍊錶的底層**實現–增刪改查

**實現如下:

package cn.datastructures.stack;

public

class linkedlistdemo

public

note(e e)

public

note()

public string tostring()

}private note dummyheard;

public

int size;

public

linkedlistdemo()

public

intgetsize()

public boolean isempty()

//給鍊錶任意索引位置新增元素

// public void add(int index,e e)

// for(int i=0;i

// prev=prev.next;

// }

// note note=new note(e);

// note.next=prev.next;

// prev.next=note;

// size++;

// }

//*************

public

void

add(int index,e e)

note prev=dummyheard;

for(int i=0;inew note(e);

note.next=prev.next;

prev.next=note;

size++;

}//給鍊錶的頭部新增元素

public

void

addfirst(e e)

//給鍊錶的尾部新增元素

public

void

addlast(e e)

//獲取鍊錶的元素

public e get(int index)

for(int i=0;ireturn cur.e;

}//獲取鍊錶的頭元素

public e getfirst()

//獲取鍊錶的頭元素

public e getlast()

//修改鍊錶的元素

public

void

set(int index,e e)

for(int i=0;i//判斷鍊錶中是否含有指定的元素

public boolean contains(e e)

// }

while(cur!=null)

cur=cur.next;

}return

false;

}//刪除

public e remove(int index)

for(int i=0;inull;

size--;

return remnote.e;

}//刪除第乙個元素

public e removefirst()

//刪除最後乙個元素

public e removelast()

public string tostring()

return res.tostring();}}

測試**:

public

class test

test.add(2, 888);

system.out.println(test);

test.addlast(9999);

system.out.println(test);

test.get(3);

test.remove(2);

system.out.println(test);}}

結果如圖所示:

資料結構 鍊錶的增刪改查

關於鍊錶的增刪改查 pragma once include include includetypedef int datatype typedef struct slistnode slistnode 初始化 void slistinit slistnode ppfirst 銷毀 void slis...

用Java實現,資料結構 鍊錶的增刪改查

實現過程 特點 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了陣列隨機讀取的優點,同時鍊錶由於增加了結點的指標域,空間開銷比較大。概述 單鏈表是鍊錶中結構最簡單的。乙個單鏈表的節點 node 分為兩個部分,第乙個...

JS 資料結構 鍊錶的實現及增 刪 改 查

鍊錶可以說是資料結構中經典中的經典,鍊錶實現相比於棧和佇列要複雜一些,他不僅包含自己本身,還指向了它的下乙個元素,它的原理這裡不再贅述。但有一些理解技巧 對於乙個鍊錶,因為他不是陣列,無.length所以要手動設定長度屬性每次新增乙個元素,length 此外還要有頭節點.鍊錶想象成乙個火車,火車必須...