// 節點類
class
node
}public
class
mylinkedlist
//頭插法
public
void
addfirst
(int data)
node.next =
this
.head;
this
.head = node;
}//尾插法
public
void
addlast
(int data)
node cur = head.next;
while
(cur.next != null)
cur.next = node;
}//任意位置插入,第乙個資料節點為0號下標
public
void
addindex
(int index,
int data)
else
if(index ==0)
else
if(index ==
size()
)else
}private node findindex
(int index)
return cur;
}//查詢是否包含關鍵字key是否在單鏈表當中
public
boolean
contains
(int key)
cur = cur.next;
}return
false;}
//刪除第一次出現關鍵字為key的節點
public
void
remove
(int key)
node prev = head;
node cur = prev.next;
while
(cur != null)
prev = cur;
cur = prev.next;}}
//刪除所有值為key的節點
public
void
removeallkey
(int key)
node prev = head;
node cur = prev.next;
while
(cur != null)
prev = prev.next;
cur = prev.next;}}
//得到單鏈表的長度
public
intsize()
return count;
}// 列印鍊錶中的數值
public
void
display()
}public
void
clear()
head = null;
}}
鍊錶的實現
鍊錶是一種非常重要的資料結構,比起陣列來雖然操作繁瑣,查詢效率也不如陣列效率高,但在進行插入刪除操作時,鍊錶具有陣列無法比擬的效率,下面的 是鍊錶的實現 include include include define n 100 typedef struct node link link node i...
鍊錶的實現
include using namespace std template class linklist node head public linklist t a,int n 0 利用尾插法來構建線性鍊錶 linklist bool isempty 不為空,則返回0,為空則返回非0 t getnod...
鍊錶的實現
記憶體結構 鍊錶也是資料結構的一種,但是和陣列不一樣,陣列在記憶體中每個節點的位置是相連的。而鍊錶的每個節點在物件中是分散的,依靠引用相連。優點1 單鏈表在增加和刪除上要比陣列結構更加快捷。原因 因為順序表在記憶體中是相連的,所以刪除乙個節點,在該節點之後的節點都要隨之前移,所以效率不高。而單鏈表使...