C语言用二叉树统计一个源文件(三)

2012-12-17 12:50:44 · 作者: · 浏览: 1374

 

    //是否tree占用的内存

    void treeFree(TreeNode* root)

    {

    if(root!=NULL)

    {

    treeFree(root->left);

    free(root->word); //释放节点的word占用的内存

    free(root);       //是否节点占用的内存

    treeFree(root->right);

    }

    }

    //Test.c

    #include <stdio.h>

    #include <stdlib.h>

    #include "TreeNode.h"

    #define MAX 100

    int main(int argc, char *argv[])

    {

    FILE* f;

    char w[MAX]={0};

    char* fname="TreeNode.h";

    if((f=fopen(fname,"r"))!=NULL)

    {

    TreeNode* root = NULL;

    while((getWord(w,MAX,f)!=EOF))

    {

    if(isalpha(w[0]))

    root = addNode(root,w);

    }

    tprint(root);

    treeFree(root);

    fclose(f);

    }else{

    printf("open %s error\n",fname);

    }

    getchar();

    return 0;

    }