鍊錶的實現

2021-10-08 20:19:04 字數 1486 閱讀 4382

// 節點類

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 單鏈表在增加和刪除上要比陣列結構更加快捷。原因 因為順序表在記憶體中是相連的,所以刪除乙個節點,在該節點之後的節點都要隨之前移,所以效率不高。而單鏈表使...