線性表綜合試驗(間接定址)

2021-08-09 12:34:10 字數 2919 閱讀 3095

一.實驗目的

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

二. 實驗內容

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

源**:

#include 

#include

using

namespace

std;

const

int maxsize = 10;

struct student //定義student結構體

;ostream& operator

<< (ostream& os, const student &ob) //過載左移運算子,使其能直接輸出自定義型別「student」

template

class addresslist

;template

void addresslist::printlist()

template

int addresslist::length()

template

datatype addresslist::get(int index)

template

int addresslist::locate(string x)

return -1;

}template

void addresslist::insert(datatype x, int index)

table[index] = new student; // 新建乙個間接位址

*table[index] = x;

table[index]->sum = table[index]->chinese + table[index]->math + table[index]->english; //對sum賦值

length++;

}template

addresslist::addresslist(datatype a, int n)

}template

datatype addresslist::delete(int index)

length--;

return x;

}template

addresslist ::~addresslist()

delete table;

}int main()

stu[i].name = tempname;

cout

<< "請輸入第"

<< i + 1

<< "名學生語文成績:";

cin >> stu[i].chinese;

cout

<< "請輸入第"

<< i + 1

<< "名學生數學成績:";

cin >> stu[i].math;

cout

<< "請輸入第"

<< i + 1

<< "名學生英語成績:";

cin >> stu[i].english;

stu[i].sum = stu[i].chinese + stu[i].math + stu[i].english;

cout

<< "-------------------------------------"

<< endl;

}addresslistdemo(stu, num);

demo.printlist();

cout

<< "鍊錶總長為:";

cout

<< demo.length() << endl;

cout

<< "-------------------------------------"

<< endl;

cout

<< "查詢第三名學生成績:"

<< endl;

cout

<< "-------------------------------------"

<< endl;

cout

<< "姓名"

<< "\t"

<< "語文"

<< "\t"

<< "數學"

<< "\t"

<< "英語"

<< "\t"

<< "總分"

<< "\t"

<< endl;

cout

<< demo.get(3) << endl;

cout

<< "-------------------------------------"

<< endl;

cout

<< "查詢姓名為「霜降」的位置:"

<< demo.locate("霜降") << endl;

cout

<< "-------------------------------------"

<< endl;

cout

<< "在第二與第三間插入「秋分」同學的成績"

<< endl;

demo.insert(, 3);

demo.printlist();

cout

<< "鍊錶總長為:";

cout

<< demo.length() << endl;

cout

<< "-------------------------------------"

<< endl;

cout

<< "刪除第3位同學的成績:"

<< demo.delete(3).name << endl;

demo.printlist();

return

0;}

線性表綜合實驗之間接定址

includeusing namespace std const int max 100 templatestruct node templateclass indirectadd t number get int i int location get t x void insert int i,t...

實驗二 線性表綜合實驗之《間接定址》

資料結構 實驗二 線性表綜合實驗 一 實驗目的 鞏固線性表的資料結構的儲存方法和相關操作,學會針對具體應用,使用線性表的相關知識來解決具體問題。二 實驗時間 準備時間為第3周到第4周,具體集中實驗時間為第4週第2次課。2個學時。三.實驗內容 1.建立乙個由n個學生成績的順序表,n的大小由自己確定,每...

資料結構系列之線性表(間接定址)

ifndef indirectlist h define indirectlist h include using namespace std template class indirectiterator template class indirectlist int length const b...