# 20202326 2021-2022-1 《數據結構與面向對象程序設計》實驗七報告
課程:《程序設計與數據結構》
班級: 2023
姓名: 張修齊
學號:20202326
實驗教師:王志強
實驗日期:2021年11月12日
必修/選修: 必修
## 1.實驗內容
-
定義一個Searching和Sorting類,並在類中實現linearSearch,SelectionSort方法,最后完成測試。
要求不少於10個測試用例,提交測試用例設計情況(正常,異常,邊界,正序,逆序),用例數據中要包含自己學號的后四位
提交運行結果圖。 -
重構你的代碼
把Sorting.java Searching.java放入 cn.edu.besti.cs2023.(姓名首字母+四位學號) 包中(例如:cn.edu.besti.cs1823.G2301)
把測試代碼放test包中
重新編譯,運行代碼,提交編譯,運行的截圖(IDEA,命令行兩種) -
參考http://www.cnblogs.com/maybe2030/p/4715035.html ,學習各種查找算法並在Searching中補充查找算法並測試
提交運行結果截圖 -
實現排序方法等(至少3個)
測試實現的算法(正常,異常,邊界)
提交運行結果截圖(如果編寫多個排序算法,即使其中三個排序程序有瑕疵,也可以酌情得滿分) -
編寫Android程序對實現各種查找與排序算法進行測試
提交運行結果截
推送代碼到碼雲(選做,額外加分)



2.重構你的代碼
3. & 4.參考http://www.cnblogs.com/maybe2030/p/4715035.html ,學習各種查找算法並在Searching中補充查找算法並測試;實現排序方法等(至少3個)測試實現的算法(正常,異常,邊界)
插入查找:
二分查找:
希爾排序:
順序查找:
測試類:
運行結果:
5.提交運行結果截圖推送代碼到碼雲(選做,額外加分)
## 3. 實驗過程中遇到的問題和解決過程
- 問題1:測試類編寫時出現了“No tests found in XXX”。
- 問題1:解決方案:先找網上,網上不行就找老師,最后將測試類名字中的Test改成小寫test就行。
## 其他(感悟、思考等)
排序和查找是遞進的,查找可以使排序中查找元素步驟大大減少運行時間,而不同排序方法的思想也同樣可以反應到排序中,比如二分查找的思想對二分排序的就有很類似的地方。
所以我們不要將兩者看作兩個單獨的個體,要結合起來看。
## 參考資料
- [《Java和Andriod開發學習指南(第二版)人民郵電出版社》]
- [《Java軟件結構與數據結構(第三版)清華大學出版社》]
- https://www.cnblogs.com/maybe2030/p/4715035.html