實驗二、鍊錶基本操作的實現
實驗目的
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...