array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 二叉树简单实现 - 爱码网
ixummer
  1 #include "stdio.h"
  2 #include "stdlib.h"
  3 
  4 #define MAXSIZE 100
  5 typedef char TElemType;
  6 typedef struct BiTNode {
  7     TElemType data;
  8     struct BiTNode *lchild;
  9     struct BiTNode *rchild;
 10 } BiTNode, *BiTree;
 11 
 12 //定义函数指针
 13 typedef void(*Visit)(BiTree);
 14 
 15 //二叉树的初始化
 16 void Init_BiTree(BiTree *T) {
 17     *T = NULL;
 18 }
 19 
 20 int IsEmpty_BiTree(BiTree *T) {
 21     return *T == NULL;
 22 }
 23 
 24 //创建二叉树
 25 void Create_BiTree(BiTree *T) {
 26     char ch;
 27     ch = getchar();
 28     //当输入的是"#"时,认为该子树为空
 29     if (ch == \'#\')
 30         *T = NULL;
 31         //创建树结点
 32     else {
 33         *T = (BiTree) malloc(sizeof(BiTNode));
 34         (*T)->data = ch; //生成树结点
 35         Create_BiTree(&(*T)->lchild);
 36         Create_BiTree(&(*T)->rchild);
 37     }
 38 }
 39 
 40 void Print_BiTreeNode(BiTree T) {
 41     printf("%c ", T->data);
 42 
 43 }
 44 
 45 //先序遍历二叉树
 46 void PreOrder_BiTree(BiTree T, Visit visit) {
 47     if (!IsEmpty_BiTree(&T)) {
 48         visit(T);
 49         PreOrder_BiTree(T->lchild, visit);
 50         PreOrder_BiTree(T->rchild, visit);
 51     }
 52 }
 53 
 54 //中序遍历二叉树
 55 void InOrder_BiTree(BiTree T, Visit visit) {
 56     if (!IsEmpty_BiTree(&T)) {
 57         InOrder_BiTree(T->lchild, visit);
 58         visit(T);
 59         InOrder_BiTree(T->rchild, visit);
 60     }
 61 }
 62 
 63 //后序遍历二叉树 
 64 void PostOrder_BiTree(BiTree T, Visit visit) {
 65     if (!IsEmpty_BiTree(&T)) {
 66         PostOrder_BiTree(T->lchild, visit);
 67         PostOrder_BiTree(T->rchild, visit);
 68         visit(T);
 69     }
 70 }
 71 
 72 //层次遍历二叉树 
 73 void LevelOrder_BiTree(BiTree T, Visit visit) {
 74     //用一个队列保存结点信息,这里的队列采用的是顺序队列中的数组实现
 75     int front = 0;
 76     int rear = 0;
 77     BiTree BiQueue[MAXSIZE];
 78     BiTree tempNode;
 79     if (!IsEmpty_BiTree(&T)) {
 80         //将根结点加入到队列中 
 81         BiQueue[rear++] = T;
 82 
 83         while (front != rear) {
 84             //取出队头元素,并使队头指针向后移动一位 
 85             tempNode = BiQueue[front++];
 86             //判断左右子树是否为空,若为空,则加入队列 
 87             if (!IsEmpty_BiTree(&(tempNode->lchild)))
 88                 BiQueue[rear++] = tempNode->lchild;
 89 
 90             if (!IsEmpty_BiTree(&(tempNode->rchild)))
 91                 BiQueue[rear++] = tempNode->rchild;
 92             visit(tempNode);
 93         }
 94     }
 95 }
 96 
 97 int main() {
 98     BiTree T;
 99     Init_BiTree(&T);
100     Create_BiTree(&T);
101     printf("\n先序遍历结果:");
102     PreOrder_BiTree(T, Print_BiTreeNode);
103     printf("\n中序遍历结果:");
104     InOrder_BiTree(T, Print_BiTreeNode);
105     printf("\n后序遍历结果:");
106     PostOrder_BiTree(T, Print_BiTreeNode);
107     printf("\n层次遍历结果:");
108     LevelOrder_BiTree(T, Print_BiTreeNode);
109     return 0;
110 }

 

分类:

技术点:

相关文章: