資料結構單鏈表的定義(Java)

2021-08-10 03:20:06 字數 1464 閱讀 4548

定義乙個介面

public

inte***ce ilinarlist

定義乙個結點類

/*

*/public

class node

}

建立乙個slinklist類來實現介面

public

class slinklistimplements ilinarlist

/*乙個節點中的成員變數指向乙個新的node,從例項物件的角度,整條鍊錶中有例項化的物件為start,

* 詳見1、2,可以看出,private nodestart=new node(item,null),例項化了乙個start

* 接下來add方法中,nodecurrent=start 為引用了start 的位址,start 的成員變數next的型別是node的引用型別,

* 裡面包含乙個e型別的item,和乙個node型別的next

* 也就是說每新增乙個節點都是沒有例項化物件的,直接從start 的next成員指向乙個新的node,

* 再新增就是從新的node中的next成員指向新的node* 如下面的語句

*///新增元素到鍊錶的末尾

public boolean add(e item)

current.next=new node(item,null);//引用最後乙個節點的next,建立乙個新的節點

}size++;

return

true;

}//插入元素到i索引位置前插入乙個資料元素

public boolean add(int i, e item) else

previous.next=newnode;//將前乙個節點的位址的next指向修改為newnode

newnode.next=current;//將newnode的next指向當前的節點元素

size++;

}return

true;

}//清楚索引的元素

public e remove(int i) else

}return oidvalue;

}public

intindexof(e item)

}else

}return -1;//當遍歷完整個鍊錶之後沒有所要的元素,說明此鍊錶不存在此元素,返回-1

}public e get(int i)

return item;

}public

intsize()

public

void

clear()

start =null;//start也是指向一片位址,如果沒有清空的話,依然可以訪問,只不過start.item和start.next都為空罷了

size=0;

}public boolean isempty()

}

Java資料結構 單鏈表

鍊錶是一種資料結構,和陣列同級。鍊錶在進行迴圈遍歷時效率不高,但是插入和刪除時優勢明顯。單鏈表結構 單鏈表就相當於從頭結點開始,每乙個節點只要記錄下一節點,就把所有資料串了起來,形成了乙個單向鍊錶。各個節點的儲存可以是分散的。頭插法 尾插法 entry entry new entry val 建立要...

java資料結構之單鏈表

在單鏈表中對表頭進行插入或者刪除時,時間複雜度為o 1 單鏈表查詢指定節點時因為要進行迴圈查詢,平均需要查詢n 2次,所以時間複雜度為o n 儲存密度 資料占用的儲存量 整個結點占用的儲存量。根據這個公式可以得出單鏈表的儲存密度為大於1,在空間利用率上面比順序表要差 所以可以得出以下結論 單鏈表一般...

java資料結構 單鏈表實現

節點類 package linkedlist public class node 單鏈錶類 package linkedlist 鍊錶 author administrator param public class linkedlist else curr.next node length retu...