树的双亲存储
来源:互联网 发布:数据结构与算法 书 编辑:程序博客网 时间:2024/05/01 00:42
1.perface:
如下树结构:
若用树的双亲表示法,结果是:树的双亲表示:
0 1A 2B13C14D25E26F27G38H59I52.codes://树的双亲表示法存储:
..h文件:
#ifndef TREE_C_H_#define TREE_C_H_/** * * **///树的存储的、结构:#define M 10typedef struct { char data; //字符数据 int parent; //父节点}NODE;NODE pt[M+1]; //节点数组表示树/////////////////////////typedef struct tnode{ int child; struct tnode *next ; //指向具体的结构的指针}TNODE;typedef struct tablenode{ char data; TNODE *fchild;//指向第一个孩子的节点}TD;TD ct[M+1];//双亲表示法void parent_tree(char treedata[M],int m);//孩子表示方法void child_tree(char treedata[M],int m);#endif /*TREE_C_H_*/
.c文件:
/** * 双亲的表示法 * @m 树中的数据 * */ void parent_tree(char treedata[M], int m) { //1.去除数据赋值 char c; int i; int j; //初始化的头结点: pt[0].parent=-1; pt[0].data=' '; for (i = 0; i <=m; ++i) { pt[i].data=treedata[i]; printf("请输入%c的父节点,根的父节点请输入空格\n", pt[i].data); //显出stdout fflush(stdout); c=getchar(); getchar();//
for (j = 0; j < i; ++j) { if (pt[j].data==c) { pt[i].parent=j; } } } //输出 printf("树的双亲表示法:\n"); printf("下表 data parent\n"); for (i = 0; i <m; ++i) { printf("data=%d,parant=%d", pt[i].data, pt[i].parent); //打印出对应的ACII printf("\n"); } }
3.refence:
看一下存储的角标确实符合,注意,左边打印的是字符编码。
- 树的双亲存储
- 树的存储结构--双亲表示法
- 树的存储结构(双亲表存储结构)
- 数据结构:树的存储——双亲表示法
- 树的存储结构-双亲表示法-代码
- 树的存储结构之双亲孩子表示法
- 树的双亲表示法
- 树的双亲表示法
- 树的双亲表示法
- 树的双亲表示法
- 树 的 双亲表示法 及 双亲孩子表示法
- 实现由双亲节点存储的树转化为二叉树的遍历算法实现
- 数据结构与算法之树的孩子双亲存储结构的讲解
- 树的存储:双亲数组法,孩子链表法,孩子兄弟法
- C#实现树的双亲表示法
- 树的双亲孩子表示法
- 数据结构之通用树(使用链表实现树的存储结构,双亲孩子表示法)
- 双亲树-等价类
- 黑马程序员:java基础——OOP面向对象的特征
- Dij
- Java SE 学习笔记(八)
- Socket编程指南及示例程序
- Opencv的配置
- 树的双亲存储
- linux maven安装
- Centos下安装MySQL-server和MySQL-client
- 批处理命令
- UVa 327 Evaluating Simple C Expressions (模拟)
- C语言存储类别(Storage Class)
- ubuntu下修改environment后无法使用sudo的解决办法
- 个人信息表
- MySQL数据库服务没有启动怎么办