全排列

public class AllSort {
	
	
	public static void main(String[] args)
	{
		int a[] = {1,2,3};
		sort(a,0);
	}
	
	public static void swap(int i,int j,int a[])
	{
		
		//if(i==j) return ;可以提高效率
		
		int temp  = a[i];
		a[i] = a[j];
		a[j] = temp;
	}
	
	public static void sort(int a[],int index)
	{
		if(index ==a.length)
		{
			printArr(a);
		}
		else
		{
			for(int i = index;i<a.length;i++)
			{
				swap(i, index, a);
				//if(index==0&&a[index]==3)continue;第一位不能为3
				//或者加入其它的条件
				sort(a, index+1);
				swap(i, index, a);
			}
		}
	}
	
	public static void printArr(int a[])
	{
		int i ;
		for(i=0;i<a.length-1;i++)
		{
			System.out.print(a[i]+" ");
		}
		System.out.println(a[i]);
	}

}

点赞