[問題] build binary tree的問題

看板C_and_CPP作者 (白濫)時間16年前 (2009/12/27 23:55), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
各位大大我又來問問題了 先謝謝各位進來看我問題的大大 最近學資料結構 一直遇到一些問題 遇到的問題: (題意請描述清楚) 逐次輸入的沒問題 但要讀取一整段的.txt檔案(裡面有一些數字),就沒辦法跑 希望得到的正確結果: 就是希望建立tree的副程式 不論是逐個輸入或是一次讀取一整批數字 都能夠建立起binary tree 程式跑出來的錯誤結果: 代入檔案的那段完全沒反應 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) dev-c++ 有問題的code: (請善用置底文標色功能) (以下皆為段落) int x,read[100]; FILE *build ; build = fopen("c:\build.txt","r"); //build.txt檔案是要代入用的,所以我權限只有設定r if(x==1){ printf("輸入一個數值: "); scanf("%d",&x); Insert(&root,x); } //上面這是用一次一個輸入的code,因為是迴圈~所以可以一直輸入 else if(x==2){ for (int i=1 ; i==100 ; i++){ fscanf(build,"%d",&read[i]); //一直讀文字檔並輸入到read[]陣列中 Insert(&root,read[100]); //是想要讓陣列跑到insert中 } //這是一次代入文字檔裡整批數字的code =================================================== void Insert(node **root,int data) { if(*root==NULL) { *root=(node*)malloc(sizeof(node)); (*root)->data=data; (*root)->left=(*root)->right=NULL; } else { if( data>(*root)->data)Insert( &(*root)->right ,data); else Insert( &(*root)->left ,data); } } //這段是副程式.建立tree用的 補充說明: 我知道問題應該是出在我那段建立tree的副程式不能讀跑陣列 但我不知道要怎麼改才能夠能跑逐次輸入的也能跑陣列 是要再另外寫一個跑陣列的建立binary tree的副程式嗎?? 如有需要~~我可以在放上全部的程式碼 謝謝大家 -- http://www.wretch.cc/blog/alan773421 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.6.5

12/28 09:19, , 1F
可以看一下你讀的檔的內容嗎?
12/28 09:19, 1F

12/28 16:47, , 2F
是數字~直排的列下來 40 60 20 50 30 10 70 45 55 52
12/28 16:47, 2F
文章代碼(AID): #1BDuE4Dy (C_and_CPP)