顺序表实验2
?
?
?
?
?
?
?
?
《數(shù)據(jù)結(jié)構(gòu)》
實(shí)驗(yàn)報(bào)告
?
?
題目:_順序表的實(shí)現(xiàn)
學(xué)號(hào):___________
姓名:___________
?
?
?
?
?
?
東南大學(xué)計(jì)算機(jī)系
?
?
?
實(shí)驗(yàn)題目
一、??? 實(shí)驗(yàn)?zāi)康?/strong>
1.??? 掌握順序表的基本操作,實(shí)現(xiàn)順序表的插入、刪除、查找等基本運(yùn)算。二、??? 實(shí)驗(yàn)內(nèi)容
1.?????????????????????? 完善順序表的定義,并運(yùn)用其實(shí)現(xiàn)線性表的操作。 2.?????????????????????? (課上任務(wù))???? 選題一:集合的交、并、差運(yùn)算
【問(wèn)題描述】
????? ??編制一個(gè)能演示執(zhí)行集合的交、并和差運(yùn)算的程序。
【任務(wù)要求】
1) 集合元素用小寫(xiě)英文字母,執(zhí)行各種操作應(yīng)以對(duì)話方式執(zhí)行。
2) 算法要點(diǎn):利用順序表表示集合;理解好三種運(yùn)算的含義
【測(cè)試數(shù)據(jù)】
自行設(shè)定,注意邊界等特殊情況。選題二:文章編輯
功能:輸入一頁(yè)文字,程序可以統(tǒng)計(jì)出文字、數(shù)字、空格的個(gè)數(shù)。
靜態(tài)存儲(chǔ)一頁(yè)文章,每行最多不超過(guò)80個(gè)字符,共N行;要求①分別統(tǒng)計(jì)出其中英文字母數(shù)和空格數(shù)及整篇文章總字?jǐn)?shù);②統(tǒng)計(jì)某一字符串在文章中出現(xiàn)的次數(shù),并輸出該次數(shù);③刪除某一子串,并將后面的字符前移。
存儲(chǔ)結(jié)構(gòu)使用順序表,分別用幾個(gè)子函數(shù)實(shí)現(xiàn)相應(yīng)的功能;
輸入數(shù)據(jù)的形式和范圍:可以輸入大寫(xiě)、小寫(xiě)的英文字母、任何數(shù)字及標(biāo)點(diǎn)符號(hào)。
輸出形式:①分行輸出用戶(hù)輸入的各行字符;②分4行輸出"全部字母數(shù)"、"數(shù)字個(gè)數(shù)"、"空格個(gè)數(shù)"、"文章總字?jǐn)?shù)";③輸出刪除某一字符串后的文章;選題三:構(gòu)造有序順序表
要求:進(jìn)一步完善SqList類(lèi)模板,實(shí)現(xiàn)順序表的按值插入元素,即順序表為遞增有序表,插入元素后仍遞增有序。
方法:在sq_list.h中添加代碼,在SqList類(lèi)模板的定義中添加函數(shù)聲明,在類(lèi)模板實(shí)現(xiàn)部分實(shí)現(xiàn)該函數(shù)。
bool? CreateListOrder(); bool? InsertOrder(ElemType e);?
三、??? 實(shí)驗(yàn)步驟
1.啟動(dòng)VC6.0:開(kāi)始菜單→程序→Microsoft Visual Studio 6.0 →Microsoft Visual C++ 6.0 2.建立工程:文件(File)→新建(new)→在彈出的對(duì)話框中選擇工程標(biāo)簽(Project)→選中選項(xiàng):Win32 Console Application(不能選別的)→輸入工程名(Project Name)→選擇工程的存放位置(Location)→單擊“確定”按鈕(OK)→在彈出的對(duì)話框中選中選項(xiàng):An Empty Project→單擊“完成”按鈕(Finish)→在彈出的對(duì)話框中單擊“確定”按鈕( OK )。 3.創(chuàng)建頭文件:文件(File)→新建(new)→在彈出的對(duì)話框中選擇文件標(biāo)簽(Files) →選中選項(xiàng):C/C++ Header File→輸入頭文件名(此處定義為“sq_list.h”)→單擊“確定”按鈕(OK)。 sq_list.h內(nèi)容如下: #ifndef __SQ_LIST_H__ #define __SQ_LIST_H__ // 順序表類(lèi)模板 template <class ElemType> class SqList { protected: // 順序表實(shí)現(xiàn)的數(shù)據(jù)成員: ??????? int count;???????????????? // 元素個(gè)數(shù) ??????? int maxSize;????????????? // 順序表最大元素個(gè)數(shù) ??????? ElemType *elems;????????? // 元素存儲(chǔ)空間 public: // 順序表的方法聲明: ???? SqList(int size); // 初始化線性表 ???? virtual ~SqList()??? // 銷(xiāo)毀線性表 ???? bool CreateList(); //構(gòu)建順序表 ???? void Clear();???????????? // 將線性表清空 ???? int Length() ;??? // 求線性表長(zhǎng)度??????????????? ???? bool Empty() ;??? // 判斷線性表是否為空 ???? bool Full() ;???? // 判斷線性表是否已滿(mǎn) ???? bool SetElem(int position, ElemType e);// 設(shè)置指定位置的元素值 ???? bool GetElem(int position, ElemType &e) ;??? // 求指定位置的元素 int Locate (ElemType? e); //元素定位 ?????bool Insert(int position,? ElemType e);// 插入元素 ?????bool Delete(int position, ElemType &e);// 刪除元素???? void Traverse() ;?????????????????????? // 遍歷線性表 }; // 順序表類(lèi)模板的實(shí)現(xiàn)部分由學(xué)生自己完成 …… 5. 創(chuàng)建源程序文件main.cpp:文件(File)→新建(new)→在彈出的對(duì)話框中選擇文件標(biāo)簽(Files) →選中選項(xiàng):C++ Source File→輸入源程序文件名(main)→單擊“確定”按鈕(OK)。 main.cpp文件內(nèi)容可參考下述代碼: #include "sq_list.h"?? // 順序表類(lèi) void main(void) { ??? int size=0; cout<<”請(qǐng)輸入順序表最大長(zhǎng)度:”; cin>>size; ??? SqList<int> sl(size); ? ??char c = '0'; ??? while (c != '13') { ????? ??cout << endl << "1. 輸入線性表,創(chuàng)建順序表"; ??????? cout << endl << "2. 求線性表長(zhǎng)度"; ??????? cout << endl << "3. 判斷線性表是否為空"; ??????? cout << endl << "4. 判斷線性表是否已滿(mǎn)"; ??????? cout << endl << "5. 修改線性表某元素值"; ??????? cout << endl << "6. 求線性表某位置元素值"; ??????? cout << endl << "7. 在線性表中查找元素"; ??????? cout << endl << "8. 在線性表中插入元素"; ??????? cout << endl << "9. 在線性表中刪除元素"; ??????? cout << endl << "10. 遍歷線性表"; ??????? cout << endl << "11. 清空線性表"; ??????? cout << endl << "12. 銷(xiāo)毀線性表"; ??????? cout << endl << "13. 退出"; ??????? cout << endl << "選擇功能(1~13):";??? cin >> c; ??????? switch (c) e ??????? { ??????????? case '1':sl.CreateList(); break; ???????????? case '2': ???????????? case '3': ??????? ................//剩余部分學(xué)生自己完成 ???????? } ??????? } } ??????????????????????????????????????????????????? 注意:1.在編程過(guò)程中注意及時(shí)保存編寫(xiě)內(nèi)容。 ????? 2.對(duì)順序表的各種操作在運(yùn)行結(jié)果中體現(xiàn)出來(lái)。四、??? 實(shí)驗(yàn)結(jié)果
轉(zhuǎn)載于:https://www.cnblogs.com/jzl123/p/6509176.html
總結(jié)
- 上一篇: 跨服务器连接数据库
- 下一篇: ORACLE 外部表的简单使用