搜尋此網誌

2019年6月5日 星期三

程設的最後一個題目(五)

我們的題目:





想法:


    因為它的資料只有整數,所以我們需要的結構大概長這樣(等一下還會再調整)。




    然後看一下加分部份。




利用串列結構撰寫本程式:這沒問題,我們本來就要用串列來寫的。

新增資料時直接利用插入方式排序:這會比較複雜些,我會放在最後講。(其實,比起把所有資料加入串列後再做排序,在新增資料時直接用插入方式排序會簡單很多)

只使用一個串列結構,就能完成順向及逆向排序結果:我是用一個比較直覺的方法去完成的,也許還有其它更好的方法,所以大家可以參考看看,不一定要用我想的方法。


會碰到的問題:


    假設我們有個串列如下(它的資料有排好,由小到大)


我們的串列
如果我們想要從小到到的輸出






PS:就像一般的串列一樣,串列的最後一個struct的next要指向NULL。由於我們的雙向串列有多了一個front指標(用來指向前一個struct),所以最前面的struct的front也要指向NULL。

    所以我們的struct list 會長這樣



長這樣

    最後是在加入資料的部份,我們需要比大小,並且判斷這筆資料是要加在最前面、中間、還是最後面。

    我就把這部份放到下一篇講了。

沒有留言:

張貼留言