資料結構筆記 鍊錶

2021-09-29 02:56:25 字數 1848 閱讀 6170

鍊錶是線性表的鏈式儲存結構的實現。鍊錶所占用的記憶體並非連續的,需要通過指標依次連線。

單鏈表通常有兩種形式:帶頭結點和不帶頭結點的單鏈表。相比較前者能夠簡化操作,便於實現。

template

<

typename t>

struct node

;

在這之前先建立乙個結點的結構體模板。

template

<

class

t>

class

linklist

linklist

(t a,

int n);~

linklist()

;int

length()

; t get

(int i)

;int

locate

(t x)

;void

insert

(int i, t x)

; t delete

(int i)

;void

printlist()

;private

: node

*first;

// 單鏈表的頭指標 , 可以省略

};

頭插法構造單鏈表
template

<

class

t>

linklist

::linklist

(t a,

int n)

}

尾插法構造單鏈表
template

<

class

t> linklist

::linklist

(t a,

int n)

r->next =

null

;//單鏈表建立完畢,將終端結點的指標域置空

}

單鏈表的遍歷操作
template

<

class

t>

void linklist

::printlist()

}

單鏈表的按位置查詢操作
template

<

class

t> t linklist

::get

(int i)if(

!p)throw

"位置"

;else

return p-

>data;

}

單鏈表按位置插入
template

<

class

t>

void linklist

::insert

(int i, t x)if(

!p)throw

"位置"

;else

}

單鏈表按位置刪除
template

<

class

t> t linklist

::delete

(int i)if(

!p ||

!p->next)

throw

"位置"

;//結點p不存在或結點p的後繼結點不存在

else

}

析構函式
template

<

class

t> linklist::~

linklist()

}

資料結構筆記(一) 鍊錶

鍊錶是一種動態的資料結構,其中所有資料元素 data elements 彼此鏈結。鍊錶是節點的集合,每個節點包含兩部分資料 data 部分和位址 address 部分。動態資料結構 鍊錶是種動態資料結構,在程式執行期間可以隨意增加或減少節點。沒有記憶體浪費 鍊錶是在程式執行時,主動分配記憶體的因此不...

資料結構筆記 靜態鍊錶

目錄 一 什麼是靜態鍊錶 1.單鏈表和靜態鍊錶 二 如何定義乙個靜態鍊錶 1.第一種方式 2.第二種方式 3.驗證 三 基本操作的實現 四 總結 單鏈表 各個結點在記憶體中星羅棋布 散落天涯 靜態鍊錶 分配一整片連續的記憶體空間,各個結點集中安置 每個資料元素4b,每個游標4b 每個結點功8b 設起...

資料結構 鍊錶

鍊錶 what 就是一張鏈式儲存的表,是一種資料結構,是基礎,所以還是不要想有什麼用。具體呢?在c中就用結構體實現物件描述,然後通過函式來實現各個基本操作 c 則用類來表述,c中的結構體就可以看成c 中的類,然後通過類封裝各個操作步驟。這些操作實現後就需要 來測試,號稱demo,就是main函式裡面...