資料結構 線性表鏈式儲存 鍊錶 單鏈表

2022-09-15 06:21:12 字數 1384 閱讀 3327

定義:

單鏈表是一種鏈式訪問的資料結構,用一組位址任意的儲存單元存放線性表中的資料元素。

鍊錶中的資料是以節點來表示的,每個結點的構成:元素( 資料元素的映象) + 指標(指示後繼元素儲存位置),元素就是儲存資料的儲存單元,指標就是連線每個結點的位址資料。

鍊錶特點:

根據線性表的長度動態的申請儲存空間,以解決順序儲存中存在的儲存空間難以確定的問題。

元素的要素:

值:當前元素儲存的資料。

#includeusing namespace std;

template struct node //節點類

;template class linklist

linklist ( t a[ ], int n ) ;

linklist ( t a[ ], int n,int w) ;

~linklist ( ) ;

int get_len( )

;t get_loc ( int i ) ;

int ser_loc ( t x ) ;

void ins_loc ( int i, t x ) ;

t del_loc ( int i ) ;

void print_list ( ) ;

};template linklist:: linklist(t a[ ], int n)

length=n;

}template linklist:: linklist(t a[ ], int n,int w) //w並無實際意義,用於區分頭插法於尾插法

r->next=null; //單鏈表建立完畢,將終端結點的指標域置空

length=n;

}template void linklist:: print_list()

}template t linklist::get_loc(int i)

if (!p)

throw "位置非法";

else

return p->data;

}template void linklist::ins_loc(int i, t x)

if (!p)

throw "位置非法";

else

}template t linklist::del_loc(int i)

if (!p || !p->next)

throw "位置非法"; //結點p不存在或結點p的後繼結點不存在

else

}template linklist:: ~linklist()

length=0;

}int main()

資料結構 線性表鏈式儲存

對於線性鍊錶,有兩種表示方法,一種是包含頭節點的情況,如下圖 一種是不包含頭節點的情況,如下圖 本文中對線性鍊錶的表示,利用的是帶頭節點的定義方式。使用c 實現了線性鍊錶建立,初始化,刪除,插入,清空,遍歷,有序鍊錶合併等操作。煉表頭 頭指標 頭結點 煉表頭 指的是線性表第乙個元素所在結點 頭指標 ...

資料結構 線性表(鏈式儲存)

1 順序表 需要一片連續的記憶體空間,成員可以隨機訪問,訪問效率高 插入刪除資料存在資料搬移的現象,效率低 儲存密度高 鍊錶的特點 不需要連續的記憶體空間,不能隨機訪問元素,訪問效率低 插入刪除資料不存在資料搬移的現象,效率高 儲存密度比較低 2 無頭鍊錶 第乙個節點為資料節點,加入刪除第乙個節點,...

資料結構 線性表鏈式儲存結構

鏈式儲存 用一組任意的儲存單元儲存線性表中的資料元素。用這種方法儲存的線性表簡稱線性鍊錶。儲存鍊錶中結點的一組任意的儲存單元可以是連續的,也可以是不連續的,甚至是零散分布在記憶體中的任意位置上的。鍊錶中結點的邏輯順序和物理順序不一定相同。即不要求邏輯上相鄰的元素在物理位置上也相鄰 為了正確表示結點間...