NTUE-CS100 板


LINE

※ 引述《gingkoginkgo (人中拉拉!)》之銘言: : ※ 引述《yantchen (球童Yanting)》之銘言: : : node a,b,c; // 有三個節點a,b,c : : node* p; // 指標 p : : p=&a; // p 指向 a : : 這要有完整程式才知道他在幹麻 : : 鏈結串列好像是大二資料結構的東西啊@@" : node本身就是像int一樣的資料型別(型態?)嗎? : 還是說他還有其他的功用? node 在標準的 C++ 裡面不存在喔 要用 class 自己定義 : : 我們課本上的模型: : : 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 heap是一種父親一定比小孩大或小的complete binary tree link list 裡面只向第一個項目的指標叫做 head 用箭頭是我們示意的表示法 實際上電腦記憶體裡面長這個樣子 instance | head a1 a2 a3 a4 -------------------------------------------- address | 0x12 0x18 0x23 0x11 0x56 | data | null 1 3 2 7 | link | 0x18 0x23 0x11 0x56 null 只要有head指向第一個資料 就可以利用link找到下一個資料 另外語法的部份 C++裡面 int a; // a 是 int 型態的變數 mystack b; // b 是 mystack 型態的變數 int* c; int *c; // c 是 指標變數 指向 int 型態的變數 *號兩個位置都OK mystack* d;// d 是 指摽變數 指向 mystack 型態的變數 指標變數的用法: c=&a; // &a代表a的位址(例如0x8793) c是指標 所以裡面存的是位址 e=*c; // *c代表c這個位址裡面的資料 因為c指向a 所以 e 會得到 a 的數值 假設class mystack的定義如下 class mystack{ int data; mystack* link; } b.data=10; b.link=&e; d->data=15; d->link=&b; class裡面定義的屬性 一般變數用.來存取 例如上面的b.data 指標變數用->來存取 例如上面的d->data : 就概念來講 電腦讀完data01後 接著找的是指標L1 而L1本身是紀錄data02的位置 : 就可以讀取到data02 後面就一直跟著指標走到null : 有錯請用力鞭<(_ _)> : 不過 還是有不知道該怎麼打的問題 : 問題(a).和-> 兩個差在那裡? 要用在哪裡?(因為像老師在黑板上用的是->而非.) : (b)如果是三個data還好 不過如果是50個的話 我猜就會用迴圈來寫了 : 不過要怎麼寫?(建立一個陣列去存指標嗎? ) : 引申的問題有兩個(1)怎麼才能存那堆指標的? 用陣列? stack? : (2)要怎樣才能輸出? : 插入和刪除的部分我還要再研究(嘆) 的確是用迴圈 假設你要找第50筆資料 就用迴圈從head的link往下找50次 --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.68.15.221
1F:推 gingkoginkgo:太感謝了Q口Q 我需要的就是這個!! 03/28 00:50







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP