树的层级遍历
来源:互联网 发布:阿里云系统盘快满了 编辑:程序博客网 时间:2024/05/16 08:30
#include "stdafx.h"
#include <vector>
#include <string>
#include <iostream>
using namespace std;
typedef vector<int> ints;
#define LevelCount 5
int length=1258;
int Sqit(int Count)
{
if (Count==0)
{
return 0;
}
int res=1;
for (int k=0;k<Count;k++)
{
res*=LevelCount;
}
return res;
}
int GetStart(int level)
{
if (level<=0)
{
return 0;
}
return Sqit(level-1)+GetStart(level-1);
}
ints Get(int num)
{
ints res;
int level=num/LevelCount+1;
int ChildStart=GetStart(level+1);
int SelfStart=GetStart(level);
level=((num-SelfStart)*LevelCount+ChildStart);
for (int k=level;k<level+5;k++)
{
res.push_back(k);
}
return res;
}
void GetIps(int index,ints &res)
{
ints km1=Get(index);
for (int k=0;k<km1.size();k++)
{
if (km1[k]<length)
{
res.push_back(km1[k]);
}else
{
return;
}
}
int start=0;
int end=km1.size();
while(1)
{
if (start==end)
{
end=res.size();
}
ints km=Get(res[start]);
for (k=0;k<km.size();k++)
{
if (km[k]<length)
{
res.push_back(km[k]);
}else
{
return;
}
}
start++;
}
}
int main(int argc, char* argv[])
{
int count=0;
while (count!=-1)
{
cin>>length;
ints res;
GetIps(0,res);
for (int i=0;i<res.size();i++)
{
cout<<res[i]<<"、";
if (i%5==0)
{
cout<<endl;
}
}
cout<<"==================================================================="<<endl;
res.clear();
GetIps(1,res);
for (i=0;i<res.size();i++)
{
cout<<res[i]<<"、";
if (i%5==0)
{
cout<<endl;
}
}
cout<<"==================================================================="<<endl;
res.clear();
GetIps(2,res);
for (i=0;i<res.size();i++)
{
cout<<res[i]<<"、";
if (i%5==0)
{
cout<<endl;
}
}
cout<<"==================================================================="<<endl;
res.clear();
GetIps(3,res);
for (i=0;i<res.size();i++)
{
cout<<res[i]<<"、";
if (i%5==0)
{
cout<<endl;
}
}
cout<<"==================================================================="<<endl;
res.clear();
GetIps(4,res);
for (i=0;i<res.size();i++)
{
cout<<res[i]<<"、";
if (i%5==0)
{
cout<<endl;
}
}
}
printf("Hello World!/n");
return 0;
}
- 树的层级遍历
- 树结构的层级遍历
- 二叉树的层级遍历
- 二叉树的层级遍历
- 二叉树的层级遍历 java
- 层级遍历二叉树
- 二叉树-层级遍历
- <LeetCode> 题69~71: 二叉树的层级遍历
- 递归遍历View的层级结构
- 层级二叉树实现与遍历
- Java实现二叉树的先序、中序、后序、层级遍历
- LeetCode 102 Binary Tree Level Order Traversal(二叉树的层级顺序遍历)(*)
- 树的前序,中序,后序,层级非递归遍历
- Java实现二叉树的先序、中序、后序、层级遍历
- 带层级关系的递归遍历目录内容
- javascript 层级数据的递归遍历与节点插入
- 二叉树的遍历算法(先序中序后序遍历的递归算法与非递归算法、层级遍历的递归与非递归算法)
- Binary Tree Level Order Traversal, 二叉树层级遍历
- 软件的易用性、问题域概念 思考
- MiniFilter 通信过程中的要点。
- 把程序作为人生,把人生当作程序!
- stl string TRACE问题
- JavaEE应用中MySQL中文乱码完全解决方案
- 树的层级遍历
- 操作系统学习笔记(23)--系统内存获取
- 在windows下的QT编程中的_TCHAR与QString之间的转换
- 我与客户成交的24种技巧
- oracle分区
- cpp 的编程风格
- 《算法导论》笔记--红黑树(一)
- 网站的背景音乐怎么实现换网页不变
- VC++动态生成带图像的按钮