20172328《程序設計與數據結構》實驗一:線性結構實驗報告

20172328《程序設計與數據結構》實驗一:線性結構實驗報告

  • 課程:《軟件結構與數據結構》
  • 班級: 1723
  • 姓名: 李馨雨
  • 學號:20172328
  • 實驗教師:王志強老師
  • 實驗日期:2018年9月28日-2018年10月2日
  • 必修選修: 必修git

    1、實驗要求內容

    實驗主要涉及:線性結構之鏈表及數組數組

  • 實驗1:基礎鏈表創建
    • 經過鍵盤輸入一些整數,創建一個鏈表;這些數是你學號中依次取出的兩位數,再加上今天的時間。 例如你的學號是 2017230今天此刻時間是 16:23:49秒,那麼數字就是20,17,23,30,1,16,23,49。
    • ②而後打印全部鏈表元素,並輸出元素的總數
    • ③在你的程序中,請用一個特殊變量名來紀錄元素的總數,變量名就是你的名字。 例如你叫 張三, 那麼這個變量名就是
      int nZhangSan = 0; //初始化爲0.數據結構

    • ④作完這一步,把你的程序簽入源代碼控制(git push)
  • 實驗2:實現節點插入、刪除、輸出操做
    • ①從磁盤讀取一個文件
    • ②這個文件有兩個數字。從文件中讀入數字1,插入到鏈表第5位,並打印全部數字,和元素的總數。保留這個鏈表,繼續下面的操做。
    • ③從文件中讀入數字2, 插入到鏈表第 0 位,並打印全部數字,和元素的總數。 保留這個鏈表,並繼續下面的操做。
    • ④從鏈表中刪除剛纔的數字1. 並打印全部數字和元素的總數。
  • 實驗3:實現鏈表的選擇排序
    • 使用選擇排序法根據數值大小對鏈表進行排序
    • 在排序的每個輪次中,打印元素的總數,和目前鏈表的全部元素
  • 實驗4:實現數組插入、刪除、輸出操做
    • 從磁盤讀取一個文件
    • ②這個文件有兩個數字。從文件中讀入數字1,插入到數組第5位,並打印全部數字,和元素的總數。 保留這個數組,繼續下面的操做。
    • ③從文件中讀入數字2, 插入到數組第 0 位,並打印全部數字,和元素的總數。 保留這個數組,並繼續下面的操做。
    • 從數組中刪除剛纔的數字1. 並打印全部數字和元素的總數
  • 實驗5:實現數組的選擇排序
    • ①使用選擇排序法根據數值大小對數組進行排序
    • ②在排序的每個輪次中,打印元素的總數,和目前數組的全部元素。

2、實驗過程及結果

  • 實驗一
  • 實驗二
  • 實驗三
  • 實驗四


    學習

  • 實驗五
    .net

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

  • 問題一:實驗4在實現打印Print方法時,正常輸入的數字後面出現的不少個0的問題。
    設計

  • 問題一解決:剛開始寫這個方法的時候,for循環裏面是遍歷了整個數組,而我在最前面定義數組長度的時候定義了100個空間,雖然我放入了固定長度的有效的一些數組,但數組後面空着的位置默認放入了元素0;故在打印時會出現這樣的問題,因此解決辦法是控制遍歷的循環次數,將咱們輸入以及操做的有效存進數組中的數字打印出來就好,用nlixinyu來表明當前數組中的有效數字總數,最後用nlixinyu做爲for循環中的控制條件就完美解決了這個問題。以前還想過用for-each來打印數組,可是問題是同樣的,咱們只選用數組的一部分便可,如果用for-each仍然會出現後面大量0的問題。3d

  • 問題二:在作實驗4時,數組的插入和刪除方法一直不能實現,經過所學知識以爲本身徹底理解其實質含義,但苦於一直沒法完美實現需求結果,剛開始出現不少的0,後面又沒法出現丟失索引處元素的狀況,刪除在索引爲1的位置不能實現的狀況。

    調試

  • 問題二解決:從網上查閱資料後,發現要在某一具體位置插入某個元素的值,須要從最後的數組元素開始,一個一個的向後移位,這樣才能保證原索引值元素不丟失。通過改正和代碼調試,最終達到了目的。再來看刪除方法,刪除方法當時不能刪除索引爲0的數,而咱們的實驗要求剛好是要刪除索引值爲1的元素,因此就在短短的三行代碼裏,到底哪裏出了問題,最終通過Debug調試,發現要求數組的索引最大應該是元素總數-1纔對,因此當個人循環次數直接小於元素總數時,最後掃到往前挪的數值仍是0,,因此我最後是沒法刪除成功的。更改以後就能夠進行刪除操做了。



    code

其餘(感悟、思考等)

本次實驗作的時間有點久,其實鏈表和數組的不少內容都是上學期接觸過甚至實現過的,但由於本身掌握的不牢靠,像從文件中讀入數據這個點就卡了本身好久,像給數組中插入刪除元素也就卡了本身好久。blog

知識的融匯貫通性實爲重要,這使我想到《論語·述而篇》中的「不憤不啓,不悱不發,舉一隅不以三隅反,則不復也」,善於學習的能力是從古至今都公認的不可缺少者。

「憤」「悱」加之,故亦心嚮往之,心嚮往之,故愈覓求知。

4、參考資料

相關文章
相關標籤/搜索