static void Tree(int[] hs)
{
//int[] hs = { 2, 3, 4, 1, 2, 2, 3, 4, 3, 3, 4, 5, 5, 2, 4, 4 };
int k = 0;
int h;
int s = 5;
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hs.Length; i++)
{
h = hs[i];
if (h < s) s = h;
if (i > 0) k = hs[i - 1];
if (h <= k)
{
sb.Remove(sb.Length - 1, 1);
sb.Append("|");
for (int a = 0; a < h - s; a++)
sb.Append("-");
}
sb.Append(h.ToString() + ", ");
}
string[] strs = sb.ToString().Split('|');
string[] sts;
int h1 = 0;
string ht = "";
sb = new StringBuilder();
for (int b = 0; b < strs.Length; b++)
{
sts = strs[b].Split(',');
for (int c = 0; c < sts.Length - 1; c++)
{
if (c == 0)
{
if (sts[c].StartsWith("-"))
{
string ht2 = "";
int idx = Math.Min(sts[c].Length - 1, ht.Split('.').Length - 1);
int d = int.Parse(ht.Split('.')[idx]) + 1;
for (int e = 0; e < idx; e++)
{
ht2 += ht.Split('.')[e] + ".";
}
ht = ht2 + d.ToString();
}
else
{
h1++;
ht = h1.ToString();
}
}
else ht += ".1";
for (int l = 0; l < ht.Split('.').Length; l++)
sb.Append("-");
sb.Append(ht);
sb.Append("/n");
}
}
Console.Write(sb.ToString());
}
分享到:
相关推荐
php 数组转换成树形结构输出代码php 数组转换成树形结构输出代码php 数组转换成树形结构输出代码
js数组转换成tree结构数组算法
数据结构为数组中包含对象–树形结构,用Vue组件的写法实现以下的效果: 树形列表,缩进显示层级,第5级数据加底色,数据样式显色,点击展开折叠数据。本文为用Vue实现方式,另有一篇为用knockout.js的实现方法。 ...
线段树 树状数组 数据结构 线段树 树状数组 数据结构 acm 线段树 树状数组 数据结构 线段树 树状数组 数据结构 acm 线段树 树状数组 数据结构 线段树 树状数组 数据结构 acm 线段树 树状数组 数据结构 线段树 树状...
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 将有序数组转换为二叉搜索树的结果肯定是不唯一的,因为存在...
php数组无限制生成树源代码,无限制递归子类源代码
常见的数据结构(栈、队列、数组、链表和红黑树) 数组和链表.pdf
树结构使用实例-实现数组和树结构的转换
js数组转为树形结构 树形结构数据扁平化
对递归深刻了解,不用看其他资料了
数据结构及算法导论 详细介绍线性表,栈和队列,串,多维数组及广义表,树,图,排序,查找等数据结构及算法描述,PDF格式,很清晰……
c++实现二叉树的数组存储,代码很简单,参考即可
ArrayTree 是一种将二维数组转换为树结构(也称为嵌套或分层)数组的工具。 下面是一个例子: $ dataList = array ( array ( 'id' => 1 , 'parent_id' => 0 , 'name' => 'games' ), array ( 'id' => 2 , ...
算法笔记,将有序数组转为二叉搜索树
Java集合,HashMap底层实现和原理(1.7数组+链表与1.8+的数组+链表+红黑树) 数组和链表.pdf
二叉排序树,用顺序表(一维数组)作存储结构 1 以回车为输入结束标志,输入数列L,生成一棵二叉排序树T 2 对二叉树T作中序遍历,输出结果 3 计算二叉排序树T查找成功的平均查找长度,输出结果 4 输入元素X,...
用二维数组实现的最小生成树(比用图实现简单),数据结构课设做的ACM习题中的使总代价最小的通讯网。编译过的c++文件!
本文详细介绍了树状数组的原理,并用树状数组解校门外的树这个问题.
树状数组 后缀数组 字典树 多串匹配算法及启示