作者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
1F:推 Markseinn:受教了~晚安~ 04/08 23:49
※ 编辑: chchwy 来自: 203.68.15.230 (04/09 00:02)
2F:推 bestpika:专业推XD 04/09 00:17
3F:推 shinemon:先说早安好了 = = 04/09 00:26
4F:推 nash3629:我也是要早安的 = = 04/09 00:33
5F:推 gingkoginkgo: 早安+1 = = 04/09 00:54