62,042
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace perm
{
internal class Program
{
private static void permlist(int[] listdata, int k, int m)
{
if (k == m)
{
for (int i = 0; i <= m; i++) System.Console.Write(listdata[i]);
Console.WriteLine();
}
else
for (int i = k; i <= m; i++)
{
Swap(ref listdata[k], ref listdata[i]);
permlist(listdata, k + 1, m);
Swap(ref listdata[k], ref listdata[i]);
}
}
private static void Swap(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
private static void Main(string[] args)
{
int[] listdata = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
permlist(listdata, 0, 3);
Console.ReadLine();
}
}
}
package com.list;
import java.util.ArrayList;
public class ListAll {
public static void main(String[] args)
{
ArrayList str=new ArrayList();
str.add("a");
str.add("b");
str.add("c");
// str.add("d");
// str.add("e");
for(int i=0;i<str.size();i++)
{
System.out.print(str.get(i).toString()+",");
}
System.out.println("的排列为:");
ListAll all=new ListAll();
ArrayList str1=all.getArry(str);
for(int i=0;i<str1.size();i++)
{
System.out.println(str1.get(i).toString());
}
}
ArrayList getArry(ArrayList str)
{
if(str.size()==1)
{
return str;
}
else
{
ArrayList result=new ArrayList();
String temp= str.get(0).toString();
//String[] temp1=new String[str.length-1];
ArrayList temp1=new ArrayList();
for(int i=1;i<str.size();i++)
{
temp1.add(str.get(i));
}
ArrayList temp2=getArry(temp1);
for(int i=0;i<temp2.size();i++)
{
int index=temp2.get(i).toString().indexOf(temp);
if(index==-1)
{
for(int j=0;j<=temp2.get(i).toString().length();j++)
{
StringBuffer s=new StringBuffer((temp2.get(i)).toString());
String ss=s.insert(j, temp).toString();
result.add(ss);
}
}
}
return result;
}
}
}