雙向鍊錶的簡單操作(Java)

2021-09-19 22:53:19 字數 1311 閱讀 4930

//定義乙個鍊錶標準介面

inte***ce linklist

//提供資料、節點間的關係、具體操作

class linklistdo implements linklist

}//*********鍊錶的相關操作***********

//增加鍊錶結點,返回是否成功

public boolean add(object data)

else

//鍊錶長度+1

this.size++;

return true;

}//指定內容結點在鍊錶中是否存在,返回節點索引

public int i***ist(object data)

i++;

}}else

i++;}}

return -1;

}//刪除第乙個值為data的結點,成功是否成功

public boolean remove(object data)

}}else}}

return false;

}//修改指定下標結點的內容

public void set(int index, object newdata)else

}//返回指定下標結點的內容

public object get(int index)

return getnode(index).data;

}//清空鍊錶

public void clear()

}//將鍊錶轉換為陣列,返回陣列

public object toarray()

return datas;

}//獲取鍊錶長度

public int size()

//遍歷列印鍊錶

public void printlinklist()else

system.out.println();}}

//根據指定索引取得具體節點

private node getnode(int index)

if(index < (size>>1))

return node;

}//刪除節點node,並返回所刪節點的值

private object deletenode(node node)else

//前驅

if(next == null)else

node.data = null;

this.size--;

return data;

}}//測試類

public class linklisttest

}

雙向迴圈鍊錶的簡單操作

最近看了linux核心 list.h發現大部分都是鍊錶的一些操作,所以就把雙向迴圈鍊錶的一些簡單操作寫了寫,結果發現什麼東西還是要經常練,不然就生疏了 主要實現了雙向鍊錶的增 刪 改 查 排序 及雙向遍歷。原始碼如下 include include include include typedef s...

Java實現雙向鍊錶的基本操作

雙向鍊錶即表中任一結點都是由data資料域,上乙個結點引用域lastnode,下乙個結點引用域nextnode組成。雙向鍊錶結點類 author liangxiamoyi param public class dlnode 構造方法 param item 資料域 param last 上乙個結點 p...

雙向鍊錶的操作

include using namespace std 列印選項 void printtheselect typedef struct dulnode dulnode,dulinklist 初始化雙向鍊錶 void initdlist dulinklist l cout 雙向鍊錶構造完畢 n 列印雙...