作者chchwy (mat)
看板NTUE-CS100
標題Re: [課業] 程設作業
時間Tue Apr 8 23:48:31 2008
最後一個功能 排大小
簡單講一下,如果你上面都已經懂了,那現在應該覺得很簡單才是
我們假設由大排到小 ex. head->大->....->小
概念作法一樣是弄個指標p
p
↓
head→□→□→□→□→□
一樣從head開始,掃過整個list
在list中的某個node發現...
p 這個叫p->next
↓ ↓
... □ → □ ...
發現(p->data) > input > (p->next->data)時
就是該插入的時候啦
cin>>input;
p = head;
while(p){
if(//input的值介於兩個node.data之間){
插入新node;
}
}
//如果跑到最後了發現還沒插入
if(p==0){
//就把它插在最後面
}
Linked List的好處就是長度可以不斷變動,而且可以在任意位置插入或刪除node。
所以處理容易劇烈改動的資料,(ex.飛行射擊遊戲的敵機,不斷大量出現又不斷爆炸消失)
Linked list會比Array來的有效率。
指標雖然有點兒複雜,但是指標的間接性帶來了很大的彈性。
(ex. Linked list用一個指標就可以控制無限長的node
如果這些node都需要變數名稱,那linked list的強大功能立刻受限 )
所以學C++不用指標就白學啦,Java、python、ruby一堆語言其他方面都強過C++。
最後記得,我一直提到記憶體的觀念,唯有底層觀念清楚指標才有可能學好。
打到最後腦袋有點不清楚啦 有錯的話請多多包涵
各位加油啦~晚安
--
懷著一顆對這個家有無限關愛的心,我 再度流浪到遠方。 --<舒伯特>
這些年來,我唱著歌,唱出愛,可是它對我來說卻是痛苦;
我唱出痛苦,可是它對我來說又是愛。 愛與痛苦就這樣分割著我。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.68.15.230
推 Markseinn:受教了~晚安~ 04/08 23:49
※ 編輯: chchwy 來自: 203.68.15.230 (04/09 00:02)
推 bestpika:專業推XD 04/09 00:17
推 shinemon:先說早安好了 = = 04/09 00:26
推 nash3629:我也是要早安的 = = 04/09 00:33
推 gingkoginkgo: 早安+1 = = 04/09 00:54