資料結構系列二之線性鍊錶

2021-08-20 10:54:22 字數 1597 閱讀 6317

線性鍊錶包含單向鍊錶、雙向鍊錶和迴圈鍊錶。對比線性陣列,鍊錶在更新操作時比線性陣列的時間複雜度要低很多,所以

根據不同的需求選擇不同的資料結構很關鍵。

線性表特性:

線性陣列在記憶體中連續存放、查詢快、固定大小不適合動態更新資料;

線性鍊錶通過指標互連、插入、刪除快、動態分配空間

鍊錶簡單示例圖:

單向鍊錶操作類(注:mylist介面在資料結構系列一之線性陣列中定義):

package com.sf.bdp.link;

import com.sf.bdp.mylist;

/** * created by swcks on 2018/6/1/001.

*/public class mylinkedlist implements mylist

/*//頭插法

public void add(object obj) */

//尾插法

public void add(object obj)

temp.next = node;

size++;

}public object set(int i, object obj)

node temp = head;

int index = 0;

while (indexsize-1)

node temp = head;

int index = 0;

while(indexsize-1)

node temp = head;

int index = 0;

while (index雙向鍊錶操作類:

package com.sf.bdp.link;

import com.sf.bdp.mylist;

/** * created by swcks on 2018/6/2/002.

*/public class mydoublelinkedlist implements mylist

/*//頭插法

public void add(object obj) else

first = node;

size++;

}*///尾插法

public void add(object obj)else

last = node;

size++;

}public object set(int i, object obj)

node temp = first;

int index = 0;

while (indexsize-1)

node temp = first;

int index = 0;

while (indexsize-1)

node temp = first;

int index = 0;

while (index

迴圈鍊錶是在鍊錶的基礎之上將尾節點的後繼指向頭節點。

資料結構之線性鍊錶

線性鍊錶是一種資料儲存結構,其分為順序儲存結構和鏈式儲存結構。順序儲存結構儲存資料的方式和平時接觸到的陣列是一樣的,其資料結構定義如下 define maxsize 100 typedef struct sqlist 關於鍊錶的初始化,尋找資料,插入資料,刪除資料等操作,與陣列類似,這裡就不做詳細介...

資料結構系列之鍊錶

鍊錶是一種線性的資料結構型別,由一系列的節點組成。每個節點由儲存資料的資料域跟指向下乙個節點的指標域構成。鍊錶又有分單向鍊錶,雙向鍊錶,迴圈鍊錶等。單向鍊錶 單向鍊錶的結構示意圖就跟上圖結構一樣,只能單向遍歷,最開始的稱之為頭節點,最後乙個稱之為尾節點。遍歷或者查詢順序只能是從頭節點向尾節點方向依次...

資料結構系列 線性表(二)

總結 由於順序儲存最大的缺點就是增刪慢,在增刪操作後需要移動大量元素,比較耗費時間。所以鏈式儲存解決了這個問題。物理儲存單元上非連續的 非順序的儲存結構。鏈式結構中,除了儲存資料元素外,還需要儲存後繼的儲存位址。儲存資料元素資訊的域叫作 資料域 儲存後繼位置的域叫作 指標域 指標域中儲存的資訊叫作 ...