NTUE-CS104 板


LINE

大略看了一下程式 很多人實際上搞不太懂老師是在教什麼 或者不知道在幹嘛 先附上 範例程式碼 應該只有這次會這樣做吧 #include<iostream> #include<cstdlib> // DEV C++ 5ed以上需要include using namespace std; int main(void){ int *array[6]; //用來存位址的指標陣列 for(int i=0;i<6;i++){ array[i]=NULL; //將指標陣列全部接地初始化(NULL為空) } int t=0,input=0,count=0; cout<<"要輸入多少數字?(1~5)\n"; cin>>count; //計算要輸入多少數字 int *pointer=NULL; //用來指向被new出來的空間之指標 for(int i=0;i<count;i++){//依序new出空間並輸入數字 cin>>input; //其實14-16行可以縮成兩行但這樣寫取址取值不熟的人 //應該比較看得懂 pointer=new int; // (要縮減的話就不需要input變數) *pointer=input; //雖是多此一舉 但是實際上就是把input存進pointer指 //標指向的空間裡 array[t]=pointer; //將位址存入指標陣列 t=input; //這次存的數字指向下一個要到的指標陣列之編號 所 //以要暫存 } t=0; //純粹需要一個變數代表陣列編號 所以拿之前的變數來 //利用 while(array[t]!=NULL){ //將路徑重新追蹤一遍 cout<<*(array[t])<<" "; t=*(array[t]); } system("pause"); } 因為我覺得老師出的這項作業有點奧妙 經過變形後 雖然有一些串列(Link-list)的精神 但實際上以後也不太可能會這樣用了 因為這就要提到所謂串列(Link-list)跟陣列(Array)的差別 以後大二資料結構會詳細的提到 主要的不同在 陣列(Array) 宣告完後 空間就完全固定了 無法再往上增加 因為陣列是連續的空間 無法利用之後的宣告 把新的空間加在之前的陣列後面 而串列(Link-list)就如字面上的表達 有連接...(好像在說廢話) 實際上就是分散在記憶體各處的空間 利用指標串連 連成一群可以被利用的大空間 舉例說 就像汪洋的大海上有許多破碎的"小島" 每一座島的土地都很少 但所有的島嶼加起來就不得了 如果你想利用所有的土地 就必須造橋(指標)通往其他島嶼(空間) 然後造橋的規則是只能走單向 而且一座島只能從一座橋出去 然後從第一座島嶼(Head) 到最後一座(NULL) 會連成像鍊子一般 就像下圖 第一座島(Head)--這是橋(指標)--> 島嶼(空間) --這是橋(指標)--> 島嶼(NULL) 中間的部分可以一直重複的 只要有需要 就可以隨時加蓋(新增空間) 至於為什麼只能有一座單向的橋 (只有一個指標指向下個空間) 是因為如果蓋太多橋會浪費太多成本(也就是"空間" 指標也是要用空間存的) 在古老吋bit吋金的年代 可不允許人浪費空間 依造上面的資料結構 我們只能從頭(head)進入串列 所以所以要找中間某座島時會比較麻煩 就像有個探險家從第一座島出發 一定要經過很多座島才能到達自己想要的地方 因為橋(指標)就是這樣蓋(指)的 不像陣列可以指定某個編號直接讀取 大致上就像上面所提的 所以陣列方便找尋資料 串列方便增加空間 這個就是他們的優點與限制 如果還是看不太懂我舉的例子的話 可以想像一下 像RO那樣的遊戲 地圖一定有傳送點傳到下一個地圖 地圖就像資料 傳送點就像指標 這樣講不知道有沒有FU 哈哈 各位加油吧!! -- ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄    ▄▄▄▄▄ ▄▄▄▄無數次實驗證明▄▄▄▄    ▄▄▄▄▄▄▄▄ ▄▄▄▄▄ 機會是自己撞出來的     ▄▄ ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄      ▄▄▄▄▄ ________ █████████████████████████▌ █ ██▌ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 120.127.36.184
1F:→ gcobc12632:PKㄉㄉ 03/20 11:48
2F:推 HotHsuan:嘴角失守>\\\< 在玩RO的時候看到這篇 XD 感謝學長!! 03/22 06:41
3F:→ HotHsuan:突然覺得玩RO有意義 03/22 06:48
4F:推 jerry771210:include <list> 05/02 21:01







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燈, 水草

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

TOP