我想計算平均值。樹有4個信息:數據,數字,左和右。所有節點的平均值=數據和數量/總數的乘積。計算二叉搜索樹中的平均數
struct node{
int number;
int data;
struct node *right;
struct node *left;
}
typedef struct node nod;
typedef struct node* nodePtr;
typedef struct node** nodePtrPtr;
int main(){
nodePtr a=NULL;
calAverage(&a);
}
void calAverage(nodePtrPtr tree){
{
nodePtr g;
double average, sum=0,num,n,s=0;
int k,z=0;
int l,w=0;
if(tree){
tree=g;
g->total_number_of_reviews=k;
g->scoreNumber=num;
sum+=(num*k);
z+=k;
}
if(tree->left){
calAverage(tree->left);
}
if(tree->right){
calAverage(tree->right);
}
average=((sum+s)/(z+w));
printf("%.1lf average ",average);}
此代碼不能正常工作。你認爲我遞歸地調用平均方法嗎?
1)結構節點權利的'構件; struct node left;' - >'* right','* left' – BLUEPIXY 2014-11-23 14:46:53
2)'nodePtr a; calAverage(&a);':'a'是未初始化的,它沒有賦值 – BLUEPIXY 2014-11-23 14:49:35
其實我寫這些但不添加此頁面,但我的問題是關於calAverage方法 - >是否爲true?@BLUEPIXY – elminaa 2014-11-23 14:51:58