日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

顺序表实验2

發布時間:2024/8/26 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 顺序表实验2 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

?

?

?

?

?

?

《數據結構》

實驗報告

?

?

題目:_順序表的實現

學號:___________

姓名:___________

?

?

?

?

?

?

東南大學計算機系

?

?

?

實驗題目

一、??? 實驗目的

1.??? 掌握順序表的基本操作,實現順序表的插入、刪除、查找等基本運算。

二、??? 實驗內容

1.?????????????????????? 完善順序表的定義,并運用其實現線性表的操作。 2.?????????????????????? (課上任務)

???? 選題一:集合的交、并、差運算

【問題描述】

????? ??編制一個能演示執行集合的交、并和差運算的程序。

【任務要求】

1) 集合元素用小寫英文字母,執行各種操作應以對話方式執行。

2) 算法要點:利用順序表表示集合;理解好三種運算的含義

【測試數據】

自行設定,注意邊界等特殊情況。

選題二:文章編輯

功能:輸入一頁文字,程序可以統計出文字、數字、空格的個數。

靜態存儲一頁文章,每行最多不超過80個字符,共N行;要求①分別統計出其中英文字母數和空格數及整篇文章總字數;②統計某一字符串在文章中出現的次數,并輸出該次數;③刪除某一子串,并將后面的字符前移。

存儲結構使用順序表,分別用幾個子函數實現相應的功能;

輸入數據的形式和范圍:可以輸入大寫、小寫的英文字母、任何數字及標點符號。

輸出形式:①分行輸出用戶輸入的各行字符;②分4行輸出"全部字母數"、"數字個數"、"空格個數"、"文章總字數";③輸出刪除某一字符串后的文章;

選題三:構造有序順序表

要求:進一步完善SqList類模板,實現順序表的按值插入元素,即順序表為遞增有序表,插入元素后仍遞增有序。

方法:在sq_list.h中添加代碼,在SqList類模板的定義中添加函數聲明,在類模板實現部分實現該函數。

bool? CreateListOrder(); bool? InsertOrder(ElemType e);

?

三、??? 實驗步驟

1.啟動VC6.0:開始菜單→程序→Microsoft Visual Studio 6.0 →Microsoft Visual C++ 6.0 2.建立工程:文件(File)→新建(new)→在彈出的對話框中選擇工程標簽(Project)→選中選項:Win32 Console Application(不能選別的)→輸入工程名(Project Name)→選擇工程的存放位置(Location)→單擊“確定”按鈕(OK)→在彈出的對話框中選中選項:An Empty Project→單擊“完成”按鈕(Finish)→在彈出的對話框中單擊“確定”按鈕( OK )。 3.創建頭文件:文件(File)→新建(new)→在彈出的對話框中選擇文件標簽(Files) →選中選項:C/C++ Header File→輸入頭文件名(此處定義為“sq_list.h”)→單擊“確定”按鈕(OK)。 sq_list.h內容如下: #ifndef __SQ_LIST_H__ #define __SQ_LIST_H__ // 順序表類模板 template <class ElemType> class SqList { protected: // 順序表實現的數據成員: ??????? int count;???????????????? // 元素個數 ??????? int maxSize;????????????? // 順序表最大元素個數 ??????? ElemType *elems;????????? // 元素存儲空間 public: // 順序表的方法聲明: ???? SqList(int size); // 初始化線性表 ???? virtual ~SqList()??? // 銷毀線性表 ???? bool CreateList(); //構建順序表 ???? void Clear();???????????? // 將線性表清空 ???? int Length() ;??? // 求線性表長度??????????????? ???? bool Empty() ;??? // 判斷線性表是否為空 ???? bool Full() ;???? // 判斷線性表是否已滿 ???? bool SetElem(int position, ElemType e);// 設置指定位置的元素值 ???? bool GetElem(int position, ElemType &e) ;??? // 求指定位置的元素 int Locate (ElemType? e); //元素定位 ?????bool Insert(int position,? ElemType e);// 插入元素 ?????bool Delete(int position, ElemType &e);// 刪除元素???? void Traverse() ;?????????????????????? // 遍歷線性表 }; // 順序表類模板的實現部分由學生自己完成 …… 5. 創建源程序文件main.cpp:文件(File)→新建(new)→在彈出的對話框中選擇文件標簽(Files) →選中選項:C++ Source File→輸入源程序文件名(main)→單擊“確定”按鈕(OK)。 main.cpp文件內容可參考下述代碼: #include "sq_list.h"?? // 順序表類 void main(void) { ??? int size=0; cout<<”請輸入順序表最大長度:”; cin>>size; ??? SqList<int> sl(size); ? ??char c = '0'; ??? while (c != '13') { ????? ??cout << endl << "1. 輸入線性表,創建順序表"; ??????? cout << endl << "2. 求線性表長度"; ??????? cout << endl << "3. 判斷線性表是否為空"; ??????? cout << endl << "4. 判斷線性表是否已滿"; ??????? cout << endl << "5. 修改線性表某元素值"; ??????? cout << endl << "6. 求線性表某位置元素值"; ??????? cout << endl << "7. 在線性表中查找元素"; ??????? cout << endl << "8. 在線性表中插入元素"; ??????? cout << endl << "9. 在線性表中刪除元素"; ??????? cout << endl << "10. 遍歷線性表"; ??????? cout << endl << "11. 清空線性表"; ??????? cout << endl << "12. 銷毀線性表"; ??????? cout << endl << "13. 退出"; ??????? cout << endl << "選擇功能(1~13):";??? cin >> c; ??????? switch (c) e ??????? { ??????????? case '1':sl.CreateList(); break; ???????????? case '2': ???????????? case '3': ??????? ................//剩余部分學生自己完成 ???????? } ??????? } } ??????????????????????????????????????????????????? 注意:1.在編程過程中注意及時保存編寫內容。 ????? 2.對順序表的各種操作在運行結果中體現出來。

四、??? 實驗結果

  • sq_list.h的代碼
  • main.cpp的代碼
  • 運行結果截圖(可以有多張)
  • 轉載于:https://www.cnblogs.com/jzl123/p/6509176.html

    總結

    以上是生活随笔為你收集整理的顺序表实验2的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。