当前位置: 首页 > news >正文

黄页网页的推广网站网络运营商

黄页网页的推广网站,网络运营商,微网站怎么用,在线做行测的网站广度优先周游二叉树(层序遍历)是用队列来实现的,从二叉树的第一层(根结点)开始,自上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问。按照从根结点至叶结点、从左子树至右子树的次序访问二叉树…
广度优先周游二叉树(层序遍历)是用队列来实现的,从二叉树的第一层(根结点)开始,自上至下逐层遍历;在同一层中,按照从左到右的顺序对结点逐一访问。
按照从根结点至叶结点、从左子树至右子树的次序访问二叉树的结点。算法:
    1初始化一个队列,并把根结点入列;
    2根节点入队
    3循环直到队列空
      3.1  q=队列头元素出队
      3.2  访问q的数据域
      3.3  若q有左孩子  左孩子入队
      3.4  若q有右孩子  右孩子入队

代码来自 http://leidiqiu.iteye.com/blog/854087  

 
  #include <stdio.h>  #include <stdlib.h>  //树节点的定义  struct TNode{  int value;  struct TNode *left;  struct TNode *right;  };  //队列节点的定义  struct QNode{  struct TNode *p;  struct QNode *next;  };  //队列的定义  struct Queue{  struct QNode *front;  struct QNode *rear;  };  //初始化队列  void InitQueue(struct Queue *Q){  Q->front=Q->rear=(struct QNode*)malloc(sizeof(struct QNode));  Q->front->next=NULL;  }  //入队列  void EnQueue(struct Queue *Q, struct TNode *node){  printf("en-node-value:%d\n",node->value);  struct QNode *nd=(struct QNode*)malloc(sizeof(struct QNode));  nd->next=NULL;  nd->p=node;  Q->rear->next=nd;  Q->rear=nd;  }  //出队列,注意判定快为空时,应有 rear=front  struct TNode* DeQueue(struct Queue *Q){  struct QNode *p=Q->front->next;  Q->front->next=Q->front->next->next;  struct TNode *t=p->p;  if(Q->rear==p){  Q->rear=Q->front;  }  free(p);  printf("de-node-value:%d\n",t->value);  return t;  }  //建立二叉树  void createLR(struct TNode *node){  if(node->value<20){  struct TNode *n1=(struct TNode*)malloc(sizeof(struct TNode));  struct TNode *n2=(struct TNode*)malloc(sizeof(struct TNode));  node->left=n1;  n1->value=node->value*2;  node->right=n2;  n2->value=node->value*2+1;      createLR(n1);  createLR(n2);  }else{  node->left=NULL;  node->right=NULL;  }  }  //主程序  int main(int argc, char **argv){  struct TNode *head=(struct TNode*)malloc(sizeof(struct TNode));  head->value=1;  createLR(head);  //输出左、右边,测试树是否正确建立  struct TNode *p=head;  while(p){  printf("%d\n",p->value);  p=p->left;  }  p=head;  while(p){  printf("%d\n",p->value);  p=p->right;  }  printf("\n");  //用一个辅助的链队列,广度遍历树  p=head;  struct Queue *q;  InitQueue(q);  printf("%d\n",p->value);  EnQueue(q,p);  while(q->front->next!=NULL){  p=DeQueue(q);  if(p->left!=NULL){  printf("%d\n",p->left->value);  EnQueue(q,p->left);  }  if(p->right!=NULL){  printf("%d\n",p->right->value);  EnQueue(q,p->right);  }  }  //以下代码没有别的意思,就是测试命令行参数  int i=0;  for(i=0; i<argc; i++){  printf("%s\n",argv[i]);  }  return 0;  }  

http://www.lbrq.cn/news/2379079.html

相关文章:

  • 水友做的yyf网站优化排名工具
  • 公司网站模版 dedecms宁波优化网站厂家
  • 找人开发一个网站多少钱广东seo排名
  • html5网站后台模板最佳磁力吧ciliba磁力链
  • wordpress下拉式友情链接福州seo招聘
  • wordpress头部导航栏如何提高seo关键词排名
  • 佛山网站建站网站的seo方案
  • 天空台108网站找手工活带回家做北京谷歌seo
  • 重庆江北区网站建设公司如何创建公司网站
  • wordpress编辑器文件seo外推
  • 苏州网站制作出名 乐云践新移动广告联盟
  • 云服务器可以放几个网站人民日报评网络暴力
  • 腾讯企点下载安装seo销售代表招聘
  • 网站开发语音网站免费推广方式
  • 魔改wordpress主题怎样下载优化大师
  • 电子商务网站模板深圳新闻今日最新
  • qq空间同步到wordpress电脑系统优化工具
  • 佛山销售型网站建设长沙百度关键词推广
  • 做网站旅游销售百度搜索风云榜电视剧
  • c 做网站实例soe搜索优化
  • 深圳网站开发怎么样今日热点新闻排行榜
  • 做网站怎么申请域名seo外包优化服务商
  • 贝智康积分网站开发网站推广优化排名
  • 阿里云上做网站靠谱吗软文
  • 怎么做网站搜索宁波seo外包平台
  • 网站推广的方式?谷歌引擎搜索入口
  • 小程序源码是什么意思seo关键词排名技巧
  • 免费永久网站注册seo广告
  • wordpress调用相关评论上海站群优化公司
  • 唐山高端品牌网站建设百度账号登录官网
  • pycharm结构查看器
  • 在云端解锁硬件的无限可能 —— 深圳航天科技创新研究院赋能新一代仿真教学平台
  • 搜索引擎优化全攻略:提升百度排名优化
  • 【后端】.NET Core API框架搭建(10) --配置163邮件发送服务
  • 第2章通用的高并发架构设计——2.5 高并发读场景总结:CQRS
  • Ubuntu FTP服务搭建与配置