資料結構之鍊錶基本操作的實現

2021-09-20 11:51:51 字數 1321 閱讀 2391

實驗二、鍊錶基本操作的實現

實驗目的

1 理解單鏈錶類的定義;

2掌握單鏈錶類成員函式的實現;

3學會設計實驗資料驗證程式。

實驗環境

計算機,window xp作業系統,vc++6.0

實驗內容

1. 單鏈錶類的定義

template

struct linknode鍊錶結點類的定義

e data資料域

linknode *link; //鏈指標域

linknode()

};template

class list t //建構函式

list(e x)

list( list& l複製建構函式

list析構函式

void makeempty將鍊錶置為空表

int length() const計算鍊錶的長度

linknode *search(t x); //搜尋含x元素

linknode *locate(int i); //定位第i個元素

e *getdata(int i取出第i元素值

void setdata(int i, e x更新第i元素值

bool insert (int i, e x在第i元素後插入

bool remove(int i, e& x刪除第i個元素

bool isempty() const判表空否

return first->link == null ? true : false; }

linknode *getfirst() const

void setfirst(linknode *f )

void sort排序

};2. 測試及實驗結果

(1) 建立乙個有20個資料的單鏈表la,各節點值依次為2,4,6,8,10,12,….,38,40

(2) 輸出單鏈表la

(3) 刪除第8個結點;刪除第30個結點;

(4) 輸出表長;

(5) 在第五個結點後插入乙個結點11;

(6) 分別查詢值為28,45的元素;

(7) 建立單鏈表lb,各結點值依次為:3,8,13,18,23,28,33,38,43,48,53,58,63,68,73,78

(8) 將la和lb合併為單鏈表lc;

(9) 將單鏈表lb按從小到大的順序排列;

(10) 輸出la,lb,lc的以及各表的表長;

(11) 清空單鏈表la,lb;

(12) 輸出la,lb的表長;

相關練習

舉例說明求解什麼樣的問題用順序儲存,什麼樣的問題用鏈式儲存較好。

資料結構課程設計之雙向鍊錶操作講解

資料結構 課程設計實驗報告 之雙向鍊錶的相關操作 專業 計算機資訊管理 姓名 陶鵬鵬 學號 201140130241 教師 吳志強 時間 2013.1.4 1.問題分析1 1.1基本要求1 1.2分析過程1 2.資料結構描述1 3.演算法設計2 3.1演算法1 雙向鍊錶的建立2 3.2演算法2 雙向...

資料結構之順序表操作實驗

實驗二 順序表的基本操作 a include include define list init size 100 define listincrement 10 typedef char elemtype typedef structsqlist void initlist sqlist l l l...

資料結構鍊錶練習題

將兩個順序儲存的有序表合併成乙個有序表 假設使用者輸入的是有序表,忽略檢測使用者有序狀況的檢查 合併後的有序表由兩個有序表中的乙個來儲存 第1,3,5,7行為使用者輸入提示,2,4,6,8行為使用者輸入,output 為輸出提示 第10行為輸出的結果 從順序結構中第i個位置連續刪除k個元素,第1,3...