c语言二叉树图形输出,C语言数据结构树状输出二叉树,谁能给详细的解释一下...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

void TranslevelPrint(Bitree bt)

{

struct node

{

Bitree vec[MAXLEN]; //存放树结点

int layer[MAXLEN]; //结点所在的层

int locate[MAXLEN]; //打印结点的位置

int front,rear;

}q;

int i,j,k;

int nLocate;

j = 1;

k = 0;

q.front = 0;

q.rear = 0;

//printf(" ");

printf(" ");

q.vec[q.rear] = bt;

q.layer[q.rear] = 1;

q.locate[q.rear] = 20;

q.rear = q.rear + 1;

while(q.front < q.rear)

{

bt = q.vec[q.front];

i = q.layer[q.front];

nLocate = q.locate[q.front];

if(j < i) //进层打印时换行

{

printf("\n");

printf("\n");

j = j + 1;

k = 0;

while(k < nLocate)

{

printf(" ");

k++;

}

}

while(k < (nLocate-1))

{

printf(" ");

k++;

}

printf("%c",bt->data);

q.front = q.front + 1;

if(bt->lchild != NULL) //左孩子不为空,入队

{

q.vec[q.rear] = bt->lchild;

q.layer[q.rear] = i + 1;

q.locate[q.rear] = nLocate - pow(2, NLAYER-i-1);

q.rear = q.rear +1;

}

if(bt->rchild != NULL) //右孩子不为空,入队

{

q.vec[q.rear] = bt->rchild;

q.layer[q.rear] = i + 1;

q.locate[q.rear] = nLocate + pow(2, NLAYER-i-1);

q.rear = q.rear +1;

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/442854.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java递归统计一个文件夹含子文件夹里文件不同后缀的出现次数

/*** 统计一个文件夹中不同文件出现的次数*/ public class demo1 {public static void main(String[] args) {File file new File("IoFile");HashMap<String, Integer> mp new HashMap<>();getCount(mp, file);System.out.println(mp);}private static…

java递归遍历删除文件

import java.io.File;/* 遍历递归删除文件夹类的所有文件*/ public class demo {public static void main(String[] args) {File file new File("D:\\BaiduNetdiskDownload");dileteDir(file);}private static void dileteDir(File file) {File[] files file.listF…

ionic判断android版本,$ionicplatform 判断是android还是ios?

一只名叫tom的猫安装环境首先应该安装好 node.js (略)&#xff0c;然后安装cordova、ionic等sudo npm install -g cordova ionic ios-sim创建不同类型的项目目前可以用blank&#xff0c;tabs&#xff0c;sidemenu三种ionic start myApp tabs常用插件cordova plugin add com.ion…

java用scanner 和random的一个小案例

import java.util.ArrayList;/*** 存放单词的实体类&#xff0c;为附体类&#xff0c;需要运行mymain 主入口*/ public class Entity {private String ecglish;//英语单词private String chaina;//中文解释private String day; //属于第几天的单词private ArrayList list new …

android onscrolllistener判断到底部,判断RecyclerView是否滑动到底部

判断RecyclerView是否滑动到底部recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {Overridepublic void onScrollStateChanged(NonNull RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);}Overridepubli…

二位数组的随机生成,遍历,求和,反转。和两个变量的^反转 源码

import java.util.Random;/*** derf*/ public class Operate {public static void main(String[] args) {int[][] arr getArr(20);//获得二维一维长度相同的随机数数组forarr(arr);//遍历传入的数组sumarr(arr);//对二维数组求和int[] arr1 {1, 2, 3, 4, 5, 6, 7, 8, 9};fZar…

robolectric android studio,Android Studio + Robolectric + AndroidAnnotations 根本框架

记录一下&#xff0c;使用的 Android Studio 版本是 0.8.2 (Beta)在 Project 目录下的 build.gralde 文件中的 dependencies 添加二行classpath org.robolectric:robolectric-gradle-plugin:0.classpath com.neenbedankt.gradle.plugins:android-apt:1.引入这二个插件 robolect…

二维数组:随机生产,遍历,判断两个数组一维二维长度,和内容是否一致

import java.util.Random;/*** 1&#xff0c;定义第一个方法&#xff0c;传入数组长度&#xff0c;返回一个1维和2维长度都完全相同的数组* 2.定义一个方法&#xff0c;传入两个数二维组&#xff0c;判断两个数组是否完全一致&#xff1a;一维&#xff0c;二维长度&#xff0c;…

字符缓冲输入流,高效读取整行数据

import java.io.BufferedReader; import java.io.FileReader;/* 字符缓冲输入流&#xff0c;高效读取整行数据*/ public class Writer {public static void main(String[] args) {try (BufferedReader br new BufferedReader(new FileReader("IoFile\\a.txt"))) {St…

华为鸿蒙等不急了,华为最强巨作,鸿蒙OS+六摄+麒麟985,网友:等不及了!

原标题&#xff1a;华为最强巨作&#xff0c;鸿蒙OS六摄麒麟985&#xff0c;网友&#xff1a;等不及了&#xff01;华为最强旗舰机一般公认是Mate系列&#xff0c;虽然华为跟三星一样&#xff0c;也是走双旗舰&#xff0c;Mate和P系列都是旗舰机&#xff0c;但是华为和三星有所…

华为鸿蒙2.0操作页面,华为鸿蒙2.0开面界面确认,这一变化你可懂

最近一段时间关于华为鸿蒙手机端操作系统的消息非常多&#xff0c;但是由于目前仅是测试阶段&#xff0c;我们无法全面的了解这个全新的操作系统长什么样。在操作上有何不同等等&#xff0c;在这样的前提之下很多参与内测有朋友时不时的就会放出一些信息。5月5日有人放出了华为…

将一个数组拼接成一个指定字符串返回

/*** 将一个int【】数组拼接成一个字符串返回* 举例&#xff1a;int [] arr {1,2,3,4,5};* 举例&#xff1a; [1,2,3,4,5]*/ public class Demo9 {public static void main(String[] args) {int[] arr {1, 2, 3, 4, 5, 6, 7};String str arrToString(arr);System.out.println…

android 足球游戏,足球游戏哪个好玩,安卓单机足球游戏哪个好玩

足球游戏 实况8好玩吗&#xff1f;经典&#xff01;&#xff01;非常经典&#xff01;&#xff01;足球足球街机游戏好玩吗反正我觉得挺好玩的。话说你们不觉得新浪有借很棒么&#xff0c;人人都能借五千&#xff0c;而且提额相当容易&#xff0c;还很安全。什么样的足球游戏好…

键盘录入一个字符串,判断是否是对称字符串

import java.util.Scanner;/*** 键盘录入一个字符串&#xff0c;判断是否是对称字符串* 对称字符串&#xff1a;123321* 非对称字符串&#xff1a;123123*/ public class Demo8 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.…

android p正式版,国内首家!一加正式推送Android P正式版

近日&#xff0c;相信不少一加6的用户都收到了Android9.0也就是Android P系统的推送&#xff0c;如果没有记错的话&#xff0c;这应该是首个推送Android P稳定版的系统&#xff0c;而此前一加也是首个开放Android P公测的手机品牌&#xff0c;看来一加在系统的更新推进速度上确…

StringBuilder 和 String拼接10万个字符串的速度测试差别太大了

/*** StringBuilder 和 String拼接10万个字符串的速度测试差别太大了* String耗时毫秒: 32693* StringBuilder耗时毫秒: 16*/ public class Demo7 {public static void main(String[] args) {long lsg getString();System.out.println("String耗时毫秒: " lsg);lon…

html 浮动窗口置顶,jQuery简单实现页面元素置顶时悬浮效果示例

本文实例讲述了jQuery简单实现页面元素置顶时悬浮效果的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;一、JS Code&#xff1a;$.fn.smartFloat function () {var position function (element) {var top element.position().top, pos element.css("pos…

键盘录入,替换敏感词

import java.util.Scanner;/*** 键盘录入&#xff0c;替换敏感词*/ public class Demo6 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("请输入一个字符串&#xff0c;列如&#xff1a;去你TMD阿巴阿巴TMD阿巴阿…

html悬停放大图片代码,html – 放大图像并在悬停时显示div

在图像悬停时,我想放大图像并显示带有透明背景的div.这是我的代码.在下面的示例中,当我将鼠标悬停在.Image类中的图像上时,我想要缩放它,并希望在div的中心显示类.mylink的链接.我能够放大悬停但是当我为.text添加样式时,它不再放大图像.HTML&#xff1a;linkCSS&#xff1a;#B…

使用字符串切割,使手机号中间四位隐藏

/*** 使用字符串切割&#xff0c;使手机号中间四位隐藏*/ public class Demo5 {public static void main(String[] args) {//随便模拟一个手机号String str "18857552632";//切割前三位String s1 str.substring(0, 3);//切割后四位String s2 str.substring(7);Sys…