
数据结构
文章平均质量分 75
normol
先做人,后做事。
展开
-
二叉树的建立(多种方法)
非递归实现 typedef struct BiTNode{ char data; BiTNode* lchild, *rchild; }BiTree; //非递归实现二叉树的建立 BiTree* BiTreeCreate(){ BiTree* Q[100]; char ch; int front, rear; BiTree* s, *root; root = NULL; fro原创 2016-11-03 15:03:54 · 6949 阅读 · 0 评论 -
按前序与中序遍历将二叉树线索化并输出
typedef struct BiTNode{ char data; BiTNode* lchild, *rchild; int lflag, rflag; }BiTree; //中序线索化 void InThreading(BiTree* t){ if (t != NULL) { InThreading(t->lchild);//找到属于叶节点的左孩子 if (t->原创 2016-11-03 18:05:20 · 2232 阅读 · 0 评论 -
简易版二叉查找树(查找,插入,遍历,删除)
struct TreeNode{ int data; TreeNode* lchild, *rchild; }; TreeNode * search(TreeNode * &root, int key){ TreeNode *p,*s; s=p = root; while (p){ s = p; cout data << endl; if (p->data == key)原创 2016-11-05 12:27:08 · 361 阅读 · 0 评论 -
广义表的简单运用实例(导师制)--广义表的建立和输出
//head.h typedef struct GLNode{ char name[100]; char prof[100]; int type; struct { /*理解:hp是同级关系,tp是上下级关系*/ struct GLNode* hp, *tp; }ptr; }GList; //test.cpp #include"head.h" #include #inc原创 2016-11-10 21:49:31 · 2923 阅读 · 0 评论 -
判断给定二叉树是否为排序二叉树
错误思路:通过判断p->lchild->data data rchild->data 是否成立 错误原因: 只能确定一个最小单位的二叉树是否为排序二叉树,而不能确保所有左(右)子树节点都小(大)于根节点 举最简单的例子:这样符合判断 条件,但不是二叉排序树 抛开其逻辑错误不说,分析一下实现代码:(摘自其它博客) bool Judge(PBinTree pbt) {原创 2016-12-14 10:47:19 · 1752 阅读 · 1 评论