實驗報
告
實驗一 單鏈表及其應用
一.實驗目的
(1
)掌握線性表的鏈結儲存結構; (
2)驗證單鏈表及其基本操作的實現; (
3)進一步理解演算法與程式的關係,能夠將單鏈表演算法轉換為對應的程式。
二.實驗內容(
1)用頭插法(或尾插法)建立帶頭結點的單鏈表; (
2)用已建立的單鏈表實現插入、刪除、查詢等基本操作。
三.實驗要求1
.利用鍊錶儲存結構實現線性表的儲存,並設計線性表的基本操作演算法; 2
.在實驗過程中,對不同演算法要考慮到時間複雜度和空間複雜度。
四.實驗環境pc
微機 dos作業系統或
windows
作業系統
turbo c
程式整合環境或
visual c++
程式整合環境
五.實驗步驟及結果1
.在vc++
程式設計環境下新建乙個工程「單鏈表驗證實驗」,在該工程中新建乙個標頭檔案
linklist.h
,該標頭檔案包括單鏈錶類
linklist
的定義,返利程式如下:
#ifndef linklist_h
#define linklist_h
template
struct node
;template
class linklist
;#endif
2.在工程「單鏈表驗證實驗」中新建乙個原始檔
linklist.cpp
,該檔案包括類
linklist
中成員函式的定義,範例程式如下:
#include
using namespace std;
#include "linklist.h"
template
linklist ::linklist()
template
linklist::linklist(datatype a,int n)
r->next=null;
}template
linklist ::~linklist()
}template
void linklist::insert (int i,datatype x)
if(p==null) throw"
位置";
else
}template
datatype linklist::delete (int i)
if(p==null||p->next==null)
throw "
位置";
else
}template
int linklist ::locate (datatype x)
return 0;
}template
void linklist ::printlist ()
cout<}3
.在工程「單鏈表驗證試驗」中新建乙個原始檔
linklist_main.cpp
,該檔案包括主函式,範例程式如下:
#include
using namespace std;
#include "linklist.cpp"
void main()
;linklistl(r,5);
cout<<"
執行插入操作前資料為:
"<
l.printlist ();
trycatch(char*s)
cout<<"
執行插入操作後資料為:
"<
l.printlist ();
cout<<"值為5
的元素位置為:
";cout<
cout<<"
執行刪除操作前資料為:
"<
l.printlist ();
trycatch(char*s)
cout<<"
執行刪除操作後資料為:
"<
l.printlist ();}4
.在工程中對所編寫的程式進行組建、除錯、執行,得出程式設計結果,範例結果如下:
六.實驗小結1
、注意細節,仔細認真。 2
、了解每一步的意思,做到看到問題就可以輕鬆寫出**。
實驗三 2單鏈表
include using namespace std const int maxsize 100 struct node class student student student student student float a,int n int student get int i if p n...
實驗作業三 單鏈表
題目 利用尾插法建立乙個單鏈表,並從螢幕顯示單鏈表元素列表 根據螢幕上的提示進行單鏈表的刪除 插入等操作。執行環境 dev c 5.11 下面是正式的 這裡沒有拆分成多個檔案,直接堆在一起了。單鏈表程式 包含結構體 1.定義單鏈表結構 結點 包含函式 1.獲取鍊錶的指定位置的結點 2.建立乙個單鏈表...
實驗二 單鏈表的實現
實驗二 單鏈表的實現 一 實驗目的 1.掌握線性表的鏈結儲存結構 2.驗證單鏈表及其基本操作的實現 3.進一步掌握資料結構及演算法的程式實現的基本方法。二 實驗內容。1 根據課件關於單鏈表的定義,實現帶頭結點的單鏈表 2 用頭插法 或尾插法 建立帶頭結點的單鏈表 3 實現基本線性表的就地逆置reve...