實驗二 線性表實驗

2021-06-26 10:16:50 字數 2160 閱讀 3757



.建立乙個n個學生成績的順序表,對錶進行插入、刪除、查詢等操作。分別輸出結果。

要求如下:

1)用順序表來實現。

2)用單鏈表來實現。

(1)順序表

①標頭檔案seqlist建立

#ifndef seqlist_h

#define seqlist_h

const int maxsize = 60;

class seqlist

seqlist(int a,int n);

~seqlist()

int length()

int get(int i);

int locate(int x);

void insert(int i,int x);

delete(int i);

void printlist();

private:

int data[maxsize];

int length;

int i,j,x;

};#endif

②源程式檔案seqlist.cpp建立

#include using namespace std;

#include "seqlist.h"

seqlist::seqlist(int a,int n)

int seqlist::get(int i)

int seqlist::locate(int x)

void seqlist::insert(int i,int x)

int seqlist::delete(int i)

void seqlist::printlist()

; seqlist l(gradelist,10);

cout<

執行結果

可見程式執行存在缺陷,如值為98的元素只能找到位置3而不能找到位置7,還有插入操作後最後乙個資料丟失的問題。

(2)單鏈表

①標頭檔案linklist.h的建立

#ifndef linklist_h

#define linklist_h

template struct node

;template class linklist

;#endif

②源程式檔案linklist.cpp

#includeusing namespace std;

#include "linklist.h"

template linklist::linklist()

template linklist::linklist(dt a,int n)

r -> next = null;

}template linklist::~linklist() }

template void linklist::insert(int i, dt x)

if(p == null)

throw "位置";

else }

template dt linklist::delete(int i)

if(p == null||p -> next == null)

throw"位置";

else }

template int linklist::locate(dt x)

return 0;

}template void linklist::printlist()

cout<

③源程式檔案linklist_main.cpp的建立

#include using namespace std;

#include "linklist.cpp"

void main()

; linklistl(gradelist,10);

cout<

執行結果

這次插入和刪除操作沒有問題,但是值為78的成績依然只能找到乙個而不能找到第二個,望老師解答。

《資料結構》實驗二 線性表實驗

一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第2周到第4周,具體集中實驗時間為第4週第2次課。2個學時。三 實驗...

《資料結構》實驗二 線性表實驗

資料結構 實驗二 線性表實驗 一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗內容 1.建立乙個 n個學生成績的順序表,對錶進行插入...

《資料結構》實驗二 線性表實驗

資料結構 實驗二 線性表實驗 一 實驗目的 鞏固線性表的資料結構,學會線性表的應用。1.回顧線性表的邏輯結構,線性表的物理儲存結構和常見操作。2.學習運用線性表的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第2周到第4周,具體集中實驗時間為第4...