特點
鍊錶相鄰元素之間通過指標連線,最後乙個元素的後繼指標值為null;
長度不固定,可以增加或縮小,不需要像動態陣列似的動態擴容;
沒有記憶體空間的浪費,但鍊錶的指標需要一些額外的記憶體開銷。
由於沒有索引,在儲存和檢索資料時需要從頭遍歷到相應位置再執行操作,時間複雜度為o(n)級別。
節點
public
class
linkedlist
public
node
(e e)
public
node()
}private node dummyhead;
//虛擬頭節點
private
int size;
//記錄鍊錶大小的變數
public
linkedlist()
}
增
/**
* 在鍊錶的index位置新增新的元素e
*/public
void
add(
int index, e e)
node prev = dummyhead;
for(
int i =
0; i < index; i++
)// node node = new node(e);//要新增的節點
// node.next = prev.next;//新增的節點的next指向prev節點的next prev --> prev.next
// prev.next = node;//prev節點的next指向要新增的節點 |--> node --↑
prev.next =
newnode
(e, prev.next)
; size++;}
public
void
addfirst
(e e)
public
void
addlast
(e e)
刪
public e remove
(int index)
node del = prev.next;
prev.next = del.next;
del.next = null;
size--
;return del.e;
}public e removefirst()
public e removelast()
改
public
void
set(
int index, e e)
cur.e = e;
}
查
public e get
(int index)
node cur = dummyhead.next;
for(
int i =
0; i < index; i++
)return cur.e;
}public e getfirst()
public e getlast()
使用鍊錶實現棧
public
class
linkedliststack
implements
stack
@override
public
intgetsize()
@override
public
boolean
isempty()
@override
public
void
push
(e e)
@override
public e pop()
@override
public e peek()
}
使用鍊錶實現佇列
public
class
linkedlistqueue
implements
queue
@override
public
intgetsize()
@override
public
boolean
isempty()
@override
public
void
enqueue
(e e)
else
size++;}
@override
public e dequeue()
node front = head;
head = head.next;
front.next = null;
if(head == null)
size--
;return front.e;
}@override
public e getfront()
return head.e;
}}
資料結構 鍊錶
鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...
資料結構 鍊錶
鍊錶中的資料是以節點來表示的,每個結點的構成 元素 資料元素的映象 指標 指示後繼元素儲存位置 元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。鍊錶的結點結構 data next data域 存放結點值的資料域 next域 存放結點的直接後繼的位址 位置 的指標域 鏈域 以 結點的序列 ...
資料結構 鍊錶
一般的建立線性鍊錶有兩種 1.正序法 需要三個指標,head作為頭指標,pre作為前乙個指標,cur作為當前指標用來建立空間 2.倒序法,利用指標的插入,只需要兩個指標,不斷的往頭指標後插入新空間,不過插入的越早,離頭指標越遠,也就越後面輸出 1.線性鍊錶的建立及查詢刪除 include inclu...