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