一.實驗目的
鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。
二..實驗內容
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個節點的元素 ...