20172327 2018-2019-1 《程序設計與數據結構》實驗一:線性結構實驗報告

20172327 2018-2019-1 《程序設計與數據結構》實驗一:線性結構實驗報告

  • 課程:《Java軟件結構與數據結構》
  • 班級:201723
  • 姓名:馬瑞蕃
  • 學號:20172327
  • 實驗教師:王志強
  • 實驗日期:2018年9月28日-2018年10月2日
  • 必修/選修:必修

1、實驗內容:

實驗一:基本鏈表構建:

  • 1.經過鍵盤輸入一些整數,創建一個鏈表。
    這些數是你學號中依次取出的兩位數。再加上今天的時間。
    例如
你的學號是 20172301
今天時間是 2018/10/1, 16:23:49秒
數字就是:
20, 17,23,1, 20, 18,10,1,16,23,49
  • 2.打印全部鏈表元素, 並輸出元素的總數。html

  • 3.在你的程序中,請用一個特殊變量名來紀錄元素的總數.
變量名就是你的名字。 例如你叫 張三, 那麼這個變量名就是 
    int nZhangSan = 0;   //初始化爲 0.
  • 4.作完這一步,把你的程序簽入源代碼控制(git push)。

實驗二:實現節點插入、刪除、輸出操做

  • 1.從磁盤讀取一個文件,這個文件有兩個數字。
從文件中讀入數字1,插入到鏈表第 5 位,並打印全部數字,和元素的總數。 保留這個鏈表,繼續下面的操做。 
    從文件中讀入數字2,插入到鏈表第 0 位,並打印全部數字,和元素的總數。 保留這個鏈表,並繼續下面的操做。
  • 2.從鏈表中刪除剛纔的數字1.
  • 3.並打印全部數字和元素的總數。

實驗三:實現鏈表的冒泡排序

  • 1.使用冒泡排序法或者選擇排序法根據數值大小對鏈表進行排序。
  • 2.打印元素的總數,和目前鏈表的全部元素。

實驗四:實現數組插入、刪除、輸出操做

從文件中讀入數字1,插入到數組第 5 位,並打印全部數字,和元素的總數。 保留這個數組,繼續下面的操做。 
    從文件中讀入數字2,插入到數組第 0 位,並打印全部數字,和元素的總數。 保留這個數組,並繼續下面的操做。

實驗五:實現數組的選擇排序

  • 1.使用冒泡排序法或者選擇排序法根據數值大小對數組進行排序
  • 2.打印元素的總數,和目前數組的全部元素。

2、實驗過程及結果:

實驗一

我經過用泛型的方法來作的,原碼能夠借用書本代碼進行修改。
git

實驗二

先判斷文件,再將文件內內容讀出,並將第0個字符和第2個字符讀出分別使其成爲兩個將要插入的元素。
數組

實驗三

在LinkedStack中加入一個新的方法,使用冒泡排序來排列當前鏈表中數字的順序。
網絡

實驗四

從新構造一個Array類,將建立數組所須要的插入,從某位置插入,從某位置刪除,以及計算元素數目,等方法都寫入。讀取文件和插入文件與實驗二中所用方法相同。
數據結構

實驗五

添加選擇排序方法到類中,在判斷大小排序的過程當中,可將每一部以後數組的變化狀況隨循環輸出。
學習

3、實驗過程當中遇到的問題和解決過程

問題1.在文本讀取並賦值位元素的過程當中

以下圖所示,在將char型轉化爲String型或int型的過程當中,遇到了一些問題。
.net

經過在網絡上查找,我將char型轉化爲int型的狀況和方法進行了查找:http://www.javashuo.com/article/p-yfpzmfrz-hz.html設計

問題2.在選擇排序時,發現排序後數組全變爲0了

以下圖所示
3d

經過對比,發現我在寫方法時,出現了很大錯誤,最後經過對同窗方法的對比,改了好多才合適。code

4、感悟

經過此次實驗,我發現我對這段時間鏈表,數組,隊列的學習並部紮實,有些基本的仍是記不住,在邏輯推理的過程當中,遇到的麻煩也比較多。此次實驗讓我知道了,最近的不足,也讓我決定抽出更多時間去學習Java。

參考資料

相關文章
相關標籤/搜索