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 首先節點的結構,其中包含本節點內容,同時需要...