實驗二 順序表實現學生成績

2021-08-09 03:35:35 字數 2342 閱讀 9488

一.實驗目的

鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。

二..實驗內容

1.建立乙個由n個學生成績的順序表,n的大小由自己確定,每乙個學生的成績資訊由自己確定,實現資料的對錶進行插入、刪除、查詢等操作。分別輸出結果。

要求如下:

1)用順序表來實現。

2)用單鏈表來實現。

3)用雙鏈表實現。

4)用靜態鍊錶實現。

5)用間接定址實現。

三、**

有參建構函式

template 

score

::score(datatype a,int n)

按值查詢位置

template 

//按值查詢

int score

::locate(datatype x)

刪除成績

template 

datatype score

::delete(int i)

//建立空的順序表

score(datatype a,int n); //建立長度為n的順序表

~score(){} //建立析構函式

int length() //求線性表的長度

datatype get( int i); //按位置查詢

int locate(datatype x); //按值查詢

void insert(int i,datatype x); //在位置i插入x

datatype delete(int i); //刪除

void print(); //輸出

private:

datatype data[maxsize]; //存放資料元素的陣列

int length; //線性表的長度

};template

score

::score(datatype a,int n)

template

//按值查詢 int score

::locate(datatype x) template

datatype score

::delete(int i) { int x,j; if(length==0) throw"下溢"; if(i<1||i>length) //throw"位置異常"; x=data[i-1]; for(j=i;j

void score

::print() { int i; for(i=0;i

s(a,10); while(flag==0) { cout<

>t; switch(t) { case 1: l=s.length(); cout<

<

>i; x=s.get(i); cout<

<

>x; i=s.locate(x); cout<

<

>i; cout<

>x; s.insert(i,x); cout<

>i; s.delete(i); cout<

執行結果:求長度

按位置查詢成績

按值查詢位置

插入成績

刪除成績

輸出所有成績

輸出選單介面

退出

順序表實現學生成績操作

標頭檔案 ifndef seqlist h define seqlist h const int maxsize 100 class seqlist seqlist int a,int n seqlist void insert int i,int x 在表中第i個位置插入值x為的元素 int de...

c 實現學生成績管理

include include include include include struct score void main printf all the score bellow n printf id t語文 t英語 t數學 n for i 0 i int max 0 int m 0 for i...

實驗二 間接定址實現學生成績

源 include using namespace std template class t class node const int maxsize 100 常量指定陣列長度 template class indirect 返回單鏈表的長度 t get int i 按位查詢,查詢第i個節點的元素 ...