首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 软件时空 > 软件相关 > 数据结构之二叉树(三)
【标  题】:数据结构之二叉树(三)
【关键字】:
【来  源】:http://www.cublog.cn/u/21400/showart.php?id=139411

数据结构之二叉树(三)

#include<iostream>
using namespace std;
#define MAXM 10
#define MAXN 100
#include<malloc.h>
typedef struct node{
    int lev;
    char data;
    struct node *child[MAXM];
    struct node *parent;
}NODE;
typedef struct dnode{
    int lev;
    char data;
}DNODE;
DNODE a[MAXN];
int m,n;
NODE*lev_tree(DNODE a[],int m,int n)
{
    int i,j;
    NODE *root,*p,*q;
    if(n<1)return (NULL);
    root=(NODE*)malloc(sizeof(NODE));
    root->lev=a[0].lev;
    root->data=a[0].data;
    for(i=0;i<m;i++)
        root->child[i]=NULL;
    root->parent=NULL;
    p=root;
    for(i=1;i<n;i++)
    {
        q=(NODE*)malloc(sizeof(NODE));
        q->lev=a[i].lev;
        q->data=a[i].data;
        for(j=0;j<m;j++)
            q->child[j]=NULL;
        while(q->lev<=p->lev)
            p=p->parent;
        q->parent=p;
        j=-1;
        while(p->child[++j]!=NULL);
        p->child[j]=q;
        p=q;
    }
    return (root);
}
void pre_order(NODE *t,int n)
{
    int i;
    if(t!=NULL)
    {
        cout<<t->data<<endl;
        for(i=0;i<n;i++)
            pre_order(t->child[i],m);
    }
}
void m_order(NODE *t,int m)
{
    int i;
    if(t!=NULL)
    {
        for(i=0;i<m;i++)
            m_order(t->child[i],m);
        cout<<t->data<<endl;
    }
}
 
int main()
{
    int i,j;
    char k;
    n=0;
    for(i=0;i<MAXN;i++)
    {
        cout<<"please enter "<<endl;
        cin>>j>>k;
        if(j==-1&&k=='q') break;
        a[i].data=k;
        a[i].lev=j;
        n++;
    }
    m=3;
    NODE*head=lev_tree(a,m,n);
    cout<<"前序遍历 ";
    pre_order(head,m);
    cout<<"后序遍历;";
    m_order(head,m);
    return 0;
}
使用C#調用外部程式或是執行DOS命令:【上一篇】
数据结构之二叉树(一):【下一篇】
【相关文章】
没有相关文章
【随机文章】
  • 100位数相乘.据说是微创的面试题目
  • Java线程之线程优先级
  • 搭建linux+jdk+tomcat+postgres的环境
  • VMware下Solaris 9/10中显示设置的成功方法
  • 忍不住也感冒了!
  • 阻止对Windows注册表的远程访问
  • jsp常用的指令与标签
  • 一句话搞定免费空间的广告
  • 七六人队技术统计
  • Trufun 2007产品新特性
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.