實驗一線性表的基本操作實現及其應用 實驗報告

2021-08-08 16:35:36 字數 1391 閱讀 9734

一、實驗目的   

1、熟練掌握線性表的結構特點,掌握順序表的基本操作。   

2、鞏固 c++相關的程式設計方法與技術。   

3、學會使用順序表解決實際問題。   

二、實驗內容   

1、順序表的建立與操作實現建立 n 個元素的順序表(n 的大小和表裡資料自己確定),實現相關的操作:輸出,插   入,刪除,查詢等功能。編寫完整程式實現,程式語言不限定,使用技術形式不定。

2、實際問題的解決(*) 使用順序表來實現約瑟夫環問題。   

三、實驗步驟   

下面是順序表模板的**

#include using namespace std;

const int maxsize = 100;

template class seqlist

seqlist(datatype a,int n);

~seqlist()

int length()

datatype get(int i);

int locate(datatype x);

void insert (int i,datatype x);

datatype delete(int i);

void printlist();

private:

datatype data[maxsize];

int length;

};//定義模板類seqlist

#include template seqlist::seqlist(datatype a,int n)

;//順序表按位查詢演算法get

template int seqlist::locate(datatype x)

;//順序表插入演算法insert

template datatype seqlist::delete(int i)

;      seqlist  student1();  

seqlist stu2(a, 6);  

stu2.get(2);  

stu2.locate(1);  

stu2.insert(2, 9);  

stu2.printlist();  

stu2.delete(1);  

stu2.printlist();  

};

四、心得與分析

對查詢操作的分析:上述模板中的按位查詢演算法的時間複雜度為o(1),按值查詢演算法的平均時間效能是o(n)。

對插入和刪除操作的分析:上述模板中的插入和刪除操作需移動表長一半的元素,平均時間為o(n)。

如果用陣列儲存順序表,就意味著要分配固定長度的陣列空間,必須要確定陣列的長度,即存放線性表的陣列空間的長度。通過這一實驗可以重新複習上學期所學過的c++知識,意義匪淺。

實驗一線性表的基本操作實現及其應用

一 實驗目的 1 熟練掌握線性表的結構特點,掌握順序表的基本操作。2 鞏固 c 相關的程式設計方法與技術。3 學會使用順序表解決實際問題。二 實驗內容 1 順序表的建立與操作實現 建立 n 個元素的順序表 n 的大小和表裡資料自己確定 實現相關的操作 輸出,插 入,刪除,查詢等功能。編寫完整程式實現...

實驗一線性表的基本操作實現及其應用

一 實驗目的 1 熟練掌握線性表的結構特點,掌握順序表的基本操作。2 鞏固 c 相關的程式設計方法與技術。3 學會使用順序表解決實際問題。二 實驗內容 三 實驗步驟 1 建立乙個模板類 2 建構函式建立列表,length,get,locate,insert,delete,printlist函式 3 ...

實驗一線性表的基本操作實現及其應用

順序表是用一段位址連續的儲存單元依次儲存線性表的資料元素,我打算借鑑書本用c 寫乙個小順序表記錄10個人的數學成績。源 標頭檔案 include includeusing namespace std 定義模板類seqlist const int maxsize 20 templateclass se...