實驗3 間接定址

2021-08-19 18:23:48 字數 2404 閱讀 9248

一、實驗目的

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

二、實驗內容

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

三、實驗步驟

1、依據實驗內容分別說明實驗程式中用到的資料型別的定義:

inadd();//

無參建構函式 

inadd(datatype score,int n);//

有參建構函式 

~inadd();//

析構函式 

void print();//

遍歷操作 

datatype get(int i);//

按位查詢操作 

int locate(datatype x);//

按值查詢操作 

void insert(int i,datatypex);//

插入操作 

datatype delete(int i);//

刪除操作

2、相關操作的演算法表達

定義間接定址類的資料型別,包括插入、刪除、查詢、輸出等基本操作。

源程式如下

#ifndef inadd_h

#define inadd_h

const int maxsize=10;   

template

struct node

;  template

class inadd;

#endif 

#include

#include "inadd.h"

using namespace std;

template

inadd::inadd() 

template

inadd::inadd(datatype score,int n) 

}  template

inadd::~inadd()                 //

析構函式   

}   

template

void inadd::insert(int i,datatype x)   

if(p==null)throw"

位置非法"; 

s=new node;

s->data=x; 

s->next=p->next; 

p->next=s; 

length++; 

}  template

datatype inadd::delete(int i) 

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

位置";  //結點p不存在或p後繼結點不存在 

else

}   

template

datatype inadd::get(int i)   

if(p==null)throw"

位置非法"; 

else

return p->data; 

}   

template

int inadd::locate(datatype x)   

return 0;   

}   

template

void inadd::print()   

}  #include

using namespace std;

#include "inadd.cpp"

int main()

;  inaddstudent(score,5); 

cout << "

學  生  成  績"

cout<

cout<< "

在位置2插入成績81";

student.insert(2,81); 

cout<

cout<

插入操作後學生成績為:"<

student.print();

cout<

cout << "

位置4的成績為:" << student.get(4) << endl; 

cout << "

成績90所在位置為:" << student.locate(90) << endl;

cout<< "

刪除位置3的學生成績"

cout<< "

執行刪除操作後的學生成績為:"<< endl;

student.print();

cout<

return 0;

}執行結果如圖

實驗3 間接定址

include using namespace std const int maxsize 100 templatestruct node templateclass indirectaddress 無參構造 templateindirectaddress indirectaddress 有參構造 ...

資料結構 六 間接定址

其實在作為鍊錶成員函式的箱子排序中已經用到間接定址,即指向指標的指標。chiannode bottom,top bottom new chainnode range 1 top new chainnode range 1 這裡的bottom儲存的資料型別為chainnode 的指標型別,指向指標的b...

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

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