單鏈表實驗

2021-06-25 23:32:11 字數 2393 閱讀 7453

實驗報

實驗一 單鏈表及其應用

一.實驗目的

(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...