下载此文档

CSU层次遍历实验报告.doc


文档分类:IT计算机 | 页数:约2页 举报非法文档有奖
1/2
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/2 下载此文档
文档列表 文档介绍
姓名: 学号: 班级:
题目描述: 。
为上面的树建立二叉链表,然后层次遍历,显示结果,要求用到循环队列。
思路: 建立二叉链表,用循环队列存储数据,遵顿循环队列的先进先出的特点,设置长度为n-1=4空队,将根节点v0入队,此时队列不空,打印v0;把v0的左儿子v3入队,然后v0的右儿子v1入队,此时,v3为队列头,v1为队尾,列队列不空,v3出队;v3的左儿子v4入队,然后v3的左儿子v2入队,此时队列头是v1,队列尾是v2,队列不空,v1出队;v1是叶子结点,没有新元素入队,v4为队列头,v2为队列尾,队列不空,v4出队,以此类推,完成储存与遍历。
详细演示层次遍历过程:找到根V0,打印V0;找到V0的左儿子v3,打印v3;找到v0,找到v0的右儿子v1,打印v1:找到v0,找到V0的左儿子v3,找到v3的左儿子v4,打印v4;找到v3,找到v3的右儿子v2,打印v2。
程序代码如下:
#include <iostream>
using namespace std;
const int INITSIZE = 4; //这个数是总节点数减一
class Node{
public:
char* data;
Node* left;
Node* right;
Node(char* data){
this->data = data;
left = NULL;
right = NULL;
}
};
Node* constructTree(){
Node* root = new Node("V0");
root->left = new Node("V3");
root->right = new Node("V1");
root->left->left = new Node("V4");
root->left->right = new Node("V2");
return root;
}
Node* q[1000];
Node* p;
int level(Node* T){
int f,r;
f=0; r=0; /*置空队*/
q[r]=T; r++; /*根结点进队*/
while(f != r%INIT

CSU层次遍历实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数2
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小31 KB
  • 时间2018-06-25
最近更新