鍊錶是線性表的鏈式儲存結構的實現。鍊錶所占用的記憶體並非連續的,需要通過指標依次連線。
單鏈表通常有兩種形式:帶頭結點和不帶頭結點的單鏈表。相比較前者能夠簡化操作,便於實現。
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函式裡面...