使用递归实现全排列输出
2016-03-17 21:49
477 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static int iCount = 0;
static void Main(string[] args)
{
Console.WriteLine("hello world! ");
List<int> lsi = new List<int>();
Console.WriteLine(lsi.Count.ToString());
for (int i = 1; i <= 6; i++)
lsi.Add(i);
FullSequence(0, 6, lsi);
Console.WriteLine(iCount.ToString());
}
static void FullSequence(int i_start, int i_count, List<int> ls)
{
if (i_start == i_count - 1)
{
for (int i = 0; i < i_count; i++)
Console.Write(ls[i].ToString());
Console.WriteLine();
iCount++;
}
else
{
FullSequence(i_start + 1, i_count, ls);
for (int i = i_start+1 ; i < i_count; i++)
{
int temp = ls[i];
ls[i] = ls[i_start];
ls[i_start] = temp;
FullSequence(i_start+1, i_count, ls);
temp = ls[i];
ls[i] = ls[i_start];
ls[i_start] = temp;
}
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static int iCount = 0;
static void Main(string[] args)
{
Console.WriteLine("hello world! ");
List<int> lsi = new List<int>();
Console.WriteLine(lsi.Count.ToString());
for (int i = 1; i <= 6; i++)
lsi.Add(i);
FullSequence(0, 6, lsi);
Console.WriteLine(iCount.ToString());
}
static void FullSequence(int i_start, int i_count, List<int> ls)
{
if (i_start == i_count - 1)
{
for (int i = 0; i < i_count; i++)
Console.Write(ls[i].ToString());
Console.WriteLine();
iCount++;
}
else
{
FullSequence(i_start + 1, i_count, ls);
for (int i = i_start+1 ; i < i_count; i++)
{
int temp = ls[i];
ls[i] = ls[i_start];
ls[i_start] = temp;
FullSequence(i_start+1, i_count, ls);
temp = ls[i];
ls[i] = ls[i_start];
ls[i_start] = temp;
}
}
}
}
}
相关文章推荐
- Linux QtCreator 设置mingw编译器生成windows程序
- 【JDK源码分析】浅谈HashMap的原理
- Codeforces 405 E. Graph Cutting 【DFS 】
- JAVA流程控制语句
- [bzoj2965]保护古迹
- Python爬虫之模拟登录总结
- PPTController --第一次github尝试
- Apache2.4使用require指令进行访问控制--允许或限制IP访问/通过User-Agent禁止不友好网络爬虫
- 业务数据模型短暂思考整理
- Spring AOP 注解和xml实现 --转载
- Intellij IDEA 构建Spring Web项目 — 用户登录功能
- Future模式
- jsp 导航栏显示日期和星期几
- MVC过滤器详解
- 0317
- java读取properties文件的几种方法
- 任务四:定位和居中问题
- 二维树状数组
- 制作cpprefernce.chm
- 43. Multiply Strings LeetCode