作者gingkoginkgo (人中拉拉!)
看板NTUE-CS100
标题Re: [课业]召唤守护神建中哥Q口Q
时间Thu Mar 27 01:09:54 2008
※ 引述《yantchen (球童Yanting)》之铭言:
: node a,b,c; // 有三个节点a,b,c
: node* p; // 指标 p
: p=&a; // p 指向 a
: 这要有完整程式才知道他在干麻
: 链结串列好像是大二资料结构的东西啊@@"
node本身就是像int一样的资料型别(型态?)吗?
还是说他还有其他的功用?
: 我们课本上的模型:
: class node{
: int data;
: node* link;
: }
: data是放资料的地方,link指向下一个节点
: 假设建立一个链结串列 a1=1, a3=3, a4=5
: node a1,a3,a4;
: a1.data=1;
: a1.link=&a3;
: a3.data=3;
: a3.link=&a4;
: a4.data=5;
: a4.link=null; // 接地
: 插入 a2=4 到 a1 和 a3 中间
: node a2;
: a2.data=4;
: a2.link=a1.link;
: a1.link=&a2;
: ( 把a2插在a1跟a3中间 所以本来a1接到a3 现在改成 a2接到a3 ; a1接到a2 )
: 删除 a3
: a2.link=a3.link;
: ( 删除a3 原本a3前面是a2 後面是a4 所以把a2接到a4即可 )
那 所谓的heap(head?)是什麽呢?
今天上课看到老师似乎有宣告了出这个鬼O_O?
就我那一天只要一碗饭一瓢水的大脑 理解出来是这样Orz
每个data被存放的记忆体位置不同 但是我们在读取时必须要照顺序
所以需要利用指标来标记
记 忆 体 位 置 非 连 续
heap(?) A1 B2 C3 D4 E5
▔▔▔▔ ▔▔▔▔ ▔▔▔▔ ▔▔▔▔ ▔▔▔▔ ▔▔▔▔
我是空的 data01 data02 data03 data04 null
没资料 ↘ ↑ ↘ ↑
指标L1 指标L2
就概念来讲 电脑读完data01後 接着找的是指标L1 而L1本身是纪录data02的位置
就可以读取到data02 後面就一直跟着指标走到null
有错请用力鞭<(_ _)>
不过 还是有不知道该怎麽打的问题
问题(a).和-> 两个差在那里? 要用在哪里?(因为像老师在黑板上用的是->而非.)
(b)如果是三个data还好 不过如果是50个的话 我猜就会用回圈来写了
不过要怎麽写?(建立一个阵列去存指标吗? )
引申的问题有两个(1)怎麽才能存那堆指标的? 用阵列? stack?
(2)要怎样才能输出?
插入和删除的部分我还要再研究(叹)
--
我到底在干什麽 ?
我到底是谁 ?
老天, 告诉我!
我 是 谁 ?
是了...
马中赤兔! 人 中 吕 布 !
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.68.15.97