[問題] build binary tree的問題
各位大大我又來問問題了
先謝謝各位進來看我問題的大大
最近學資料結構
一直遇到一些問題
遇到的問題: (題意請描述清楚)
逐次輸入的沒問題
但要讀取一整段的.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
12/28 16:47, 2F