Re: [課業]召喚守護神建中哥Q口Q
※ 引述《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
討論串 (同標題文章)