[問題]前向星法2問

看板C_and_CPP作者 (shysfeeling)時間5年前發表 (2019/11/26 00:26), 5年前編輯推噓4(4022)
留言26則, 3人參與, 5年前最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) Win 10 編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出) Dev C++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 試著寫了一下,目前的困難點在手動輸入資料之後,不知如何把前置點儲存到另一個陣列 中。 餵入的資料(Input): http://codepad.org/0Fjsx4hz 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔) 補充說明(Supplement): 前次po文沒附程式檔被刪文,會再留意,謝謝版大提醒 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.137.84.49 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1574727997.A.663.html ※ 編輯: asps5711 (101.137.84.49 臺灣), 11/26/2019 08:27:50

11/26 12:03, 5年前 , 1F
請問前置點 是指?
11/26 12:03, 1F

11/26 12:32, 5年前 , 2F
起始點的意思
11/26 12:32, 2F

11/26 13:00, 5年前 , 3F
那你的起始點是哪幾筆資料...?
11/26 13:00, 3F

11/26 13:53, 5年前 , 4F
123 134 145 245 256 356等7段線,第一位數是起始點、
11/26 13:53, 4F

11/26 13:53, 5年前 , 5F
第二位數是終點、第三位數是起始點到終點的距離
11/26 13:53, 5F

11/26 14:21, 5年前 , 6F
所以是想計算最短路徑嗎?
11/26 14:21, 6F

11/26 15:14, 5年前 , 7F
是要把圖存到電腦裡;最短路徑也是後面要寫的程式,想
11/26 15:14, 7F

11/26 15:14, 5年前 , 8F
說一步步來解決
11/26 15:14, 8F

11/26 15:30, 5年前 , 9F
所以你要把每個線段的起始點,另存至另外的陣列嗎?
11/26 15:30, 9F

11/26 15:30, 5年前 , 10F
如果是的話,你的程式中就有解法了
11/26 15:30, 10F

11/26 18:11, 5年前 , 11F
我一開始就有用一個陣列儲存起始點喔,現在是要把起始點
11/26 18:11, 11F

11/26 18:11, 5年前 , 12F
用前星法來儲存。還是您有發現什麼是小弟疏漏的嗎?懇
11/26 18:11, 12F

11/26 18:11, 5年前 , 13F
請指點迷津
11/26 18:11, 13F

11/27 22:27, 5年前 , 14F
抱歉...前向星我不會...我以為你只是要陣列轉存而已.
11/27 22:27, 14F

11/27 22:27, 5年前 , 15F
..
11/27 22:27, 15F

11/28 17:19, 5年前 , 16F
另外開一個陣列紀錄邊從哪一個索引開始
11/28 17:19, 16F

11/28 17:20, 5年前 , 17F
然後換到下一個起始點的時候就知道下一個點的邊開始位置
11/28 17:20, 17F

11/28 17:20, 5年前 , 18F
int start[];
11/28 17:20, 18F

11/28 17:20, 5年前 , 19F
start[1]=0;
11/28 17:20, 19F

11/28 17:21, 5年前 , 20F
for(i = 0; i < count; i++){
11/28 17:21, 20F

11/28 17:21, 5年前 , 21F
if(e1[i] != e1[i+1]){
11/28 17:21, 21F

11/28 17:21, 5年前 , 22F
diff_num++;
11/28 17:21, 22F

11/28 17:22, 5年前 , 23F
start[diff_num-1]=i+1
11/28 17:22, 23F

11/28 17:22, 5年前 , 24F
}
11/28 17:22, 24F

11/28 17:22, 5年前 , 25F
}
11/28 17:22, 25F

11/28 17:23, 5年前 , 26F
這樣每個點 k 的邊就是從 start[k] 到 start[k+1]-1
11/28 17:23, 26F
文章代碼(AID): #1Tt74zPZ (C_and_CPP)