本文主要是介绍C#双规获取指定层数的下标排列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、在双规树结构图中,获取指定层的下标全排列
/// <summary>
/// 双规,生成指定层的所有Position下标
/// </summary>
/// <param name="layed">当前层数</param>
/// <returns></returns>
public static string[] GetDoublePosition(int layed)
{//计算当前层总共多少个int allCount = (int)Math.Pow(2, layed-1);string[] result = new string[allCount];//产生第一个位置string first = "";for (int i = 0; i < allCount; i++){first += '0';}//将二进制,转换成十进制int value = Convert.ToInt32(first, 2);for (int i = 0; i < allCount; i++){result[i] = Convert.ToString(value, 2).PadLeft(layed, '0');value++;}return result;
}
实例:
Console.WriteLine(GetDoublePosition(1).ToJsonString());
Console.WriteLine(GetDoublePosition(2).ToJsonString());
Console.WriteLine(GetDoublePosition(3).ToJsonString());
Console.WriteLine(GetDoublePosition(4).ToJsonString());
关于进制转换:
C#进制转换操作(二)
这篇关于C#双规获取指定层数的下标排列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!