一、實驗目的
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...