java 鍊錶的實現

2021-06-13 17:14:41 字數 1586 閱讀 9724

public class singlelinkedlist

node(t nodevalue)

} //下面是singlelinkedlist類的資料成員和方法

public nodehead, tail;

public singlelinkedlist()

/* * 判斷鍊錶是否為空

* */

public boolean isempty()

/* *建立頭指標,該方法只用一次

* */

public void addtohead(t item)

/* *新增尾指標,該方法使用多次

* */

public void addtotail(t item)

else

} /*

* 列印列表

* */

public void printlist()else

} }/* * 在表頭插入結點,效率非常高

* */

public void addfirst(t item)

/* * 在表尾插入結點,效率很低

* */

public void addlast(t item)

/* * 在表頭刪除結點,效率非常高

* */

public void removefirst()

/* * 在表尾刪除結點,效率很低

* */

public void removelast()

} /*

* 插入乙個新結點

*

* @param item 要插入的結點

* @return 成功插入返回true;

* */

nodeprev = head, curr = head.next, newnode;

newnode = new node(item);

if(!isempty())

newnode.next = curr;

prev.next = newnode;

return true;

} return false;

} /*

* 移除此列表中首次出現的指定元素

*

* 在列表中定位某個結點需要兩個引用:乙個對前一結點(prev左)的引用以及乙個對當前結點(curr右)的引用.

* prev = curr;

* curr = curr.next;

*/

public void remove(t item)else

} }/* * 返回此列表中首次出現的指定元素的索引,如果列表中不包含此元素,則返回-1

* * */

public int indexof(t item)

return -1;}/*

* 如果此列表包含指定元素,則返回true

* */

public boolean contains(t item)

public static void main(string args)

}

JAVA的鍊錶實現

其實很早就想開始在csdn寫部落格了,但是苦於時間或者是懶,一直沒有動手,想了想,最後還是開始吧,第一篇部落格,開始我的csdn之旅。package com.bird.node public class intsllnode public intsllnode int i,intsllnode n ...

鍊錶 java實現

package com.shine.linearlist 單鏈表結點類 public class node public node package com.shine.linearlist 線性表介面 2015 01 19 qizhang public inte ce llist package c...

鍊錶 java實現雙向鍊錶

前面已經總結了單向鍊錶,有興趣的兄弟可以進我部落格看一下。大家對比就可以看出,實現同樣的功能單向鍊錶要比雙向鍊錶痛苦的多。所以呀不斷地總結前輩留下的東西,是社會進步的基礎呀。可以直接看linkedlist的原始碼,其就是個雙向鍊錶。一 雙向鍊錶的結構。1 首先節點的結構,其中包含本節點內容,同時需要...