線性表的鏈式儲存結構及實現 單鏈表

2021-09-29 08:02:18 字數 2043 閱讀 9372

單鏈表是用一組任意的儲存單元存放線性表的元素,這組儲存單元可以連續也可以不連續。

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

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

}

不帶頭結點

node

*r; head=

null

;if(n<=

0)return

; s=

new node

; s-

>data=a[0]

; s-

>next=head;

head=s;

r=head;

for(

int i=

1;i)

template

<

class

t>

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()

}

線性表的鏈式儲存結構 單鏈表

線性表中每個節點有唯一的前趨節點和後繼節點 每個 物理節點增加乙個指向後繼節點的指標域 單鏈表 每個物理節點增加乙個指向後繼節點和前趨節點的指標域 雙鏈表 單鏈表的特點 當訪問乙個節點後,只能接著它的後繼節點,而無法訪問它的前趨節點。1.單鏈表插入節點 操作 將值為x的新節點 s插入到 p節點之後 ...

線性表鏈式儲存結構及實現

一 目的 掌握線性表的臉是儲存結構及運算 熟悉迴圈鍊錶及雙鏈表線性表的基本運算 二 內容 編寫乙個程式cdlinklist.cpp,實現迴圈雙鏈表的各種基本運算和整體建表演算法 假設迴圈雙鏈表的元素型別elemtype為char 並在此基礎上設計乙個主程式,完成如下功能 1 初始化迴圈雙鏈表h 2 ...

線性表的鏈式儲存結構

線性表的鏈式儲存結構 順序儲存結構不足的解決辦法 缺點 最大的缺點就是插入和刪除時需要移動大量元素。為了表示每個資料元素 ai與其直接後續資料元素 ai 1 之間的邏輯關係,對資料元素 ai來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後續的資訊。我們把儲存資料元素資訊的域稱為資料域,把儲存...