單鏈表是用一組任意的儲存單元存放線性表的元素,這組儲存單元可以連續也可以不連續。
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來說,除了儲存其本身的資訊之外,還需儲存乙個指示其直接後續的資訊。我們把儲存資料元素資訊的域稱為資料域,把儲存...