我們的題目:
想法:
因為它的資料只有整數,所以我們需要的結構大概長這樣(等一下還會再調整)。
然後看一下加分部份。
利用串列結構撰寫本程式:這沒問題,我們本來就要用串列來寫的。
新增資料時直接利用插入方式排序:這會比較複雜些,我會放在最後講。(其實,比起把所有資料加入串列後再做排序,在新增資料時直接用插入方式排序會簡單很多)
只使用一個串列結構,就能完成順向及逆向排序結果:我是用一個比較直覺的方法去完成的,也許還有其它更好的方法,所以大家可以參考看看,不一定要用我想的方法。
會碰到的問題:
假設我們有個串列如下(它的資料有排好,由小到大)
我們的串列 |
如果我們想要從小到到的輸出 |
PS:就像一般的串列一樣,串列的最後一個struct的next要指向NULL。由於我們的雙向串列有多了一個front指標(用來指向前一個struct),所以最前面的struct的front也要指向NULL。
所以我們的struct list 會長這樣
長這樣 |
最後是在加入資料的部份,我們需要比大小,並且判斷這筆資料是要加在最前面、中間、還是最後面。
我就把這部份放到下一篇講了。
沒有留言:
張貼留言