zoukankan      html  css  js  c++  java
  • 二叉树链表结构表示法

    二叉树链表的结构声明:

      struct  tree

    {

             int data;

             struct tree *left;

             stryct tree *right;

    };

            typedef struct tree treenode;

            typedef  treenode *btree;

    二叉树链表结构表示法
    #include"iostream"
    using namespace std;

    struct tree //二叉树结构声明
    {
    int data;
    struct tree *left;
    struct tree *right;

    };
    typedef
    struct tree treenode;
    typedef treenode
    *btree;
    /*----插入二叉树的结点-------*/


    btree insertnode(btree root,
    int value)
    {
    btree newnode;
    //树根指针
    btree current; //目前树结点指针
    btree back; //父结点指针

    /*-----创建结点内存----*/
    newnode
    =(btree)malloc(sizeof(treenode));
    /*-------初始化-----*/
    newnode
    ->data=value;
    newnode
    ->left=NULL;
    newnode
    ->right=NULL;

    if(root == NULL) //是否为根结点
    {
    return newnode;
    }
    else
    {
    current
    =root; //保留目前树指针
    while(current!=NULL)
    {
    back
    =current;
    if(current->data>value)
    current
    =current->left;
    else
    current
    =current->right;
    }
    if(back->data>value)
    back
    ->left=newnode;
    else
    back
    ->right=newnode;

    }
    return root;

    }
    /*----创建二叉树---*/
    btree createbtree(
    int *data,int len)
    {

    btree root
    =NULL;
    int i;

    for(i=0;i<len;i++)
    root
    =insertnode(root,data[i]);
    return root;
    }
    /*-------儿二叉树的输出-------*/
    void printbtree(btree root)
    {
    btree ptr;
    ptr
    =root->left;
    printf(
    "输出左子树:\n");
    while(ptr!=NULL)
    {
    printf(
    "[%2d]\n",ptr->data);
    ptr
    =ptr->left;
    }
    ptr
    =root->right;
    printf(
    "输出右子树:\n");
    while(ptr!=NULL)
    {
    printf(
    "[%2d]\n",ptr->data);
    ptr
    =ptr->right;
    }

    }
    /*------链表二叉树---------*/
    int main()
    {
    btree root
    =NULL;
    int data[10]={5,6,4,8,2,3,7,1,9};
    root
    =createbtree(data,9);

    printf(
    "树的结点内容:\n");
    printbtree(root);

    }
  • 相关阅读:
    字节输入流抽象类InputStream
    CentOS6.2使用yum安装LAMP及phpMyadmin(转)
    文件字节流类(不是抽象的)FileInputStream和FileOutputStream
    字节输出流抽象类OutputStream
    编译安装GD库出错解决(转)
    关于empty函数的判断
    PHP获取用户的用户的真实IP地址(转)
    字符输入输出流与字节输入输出流
    关于empty函数的输出
    thinkphp 多表 事务(转)
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/1883472.html
Copyright © 2011-2022 走看看