日期:2014-05-20  浏览次数:20669 次

求一排序算法
打印一个数组里面的所有排序可能: 比如 a[3]={1,2,3} 打印:123 132 213 231 312 321.
写代码的希望用6到10个测试.


--------------------------------
以下内容为自动编辑的内容,并非楼主的发贴内容,此仅用于显示而已,并无任何其他特殊作用
楼主【Alex_hello】截止到2008-08-04 16:56:53的历史汇总数据(不包括此帖):
发帖的总数量:11 发帖的总分数:310 每贴平均分数:28  
回帖的总数量:398 得分贴总数量:125 回帖的得分率:31%  
结贴的总数量:11 结贴的总分数:310  
无满意结贴数:1 无满意结贴分:20  
未结的帖子数:0 未结的总分数:0  
结贴的百分比:100.00% 结分的百分比:100.00%  
无满意结贴率:9.09 % 无满意结分率:6.45 %  
敬礼!
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=Alex_hello

------解决方案--------------------
Java code

public class Test2{
    public static void main(String[] args) {
        int a[]={1,2,3,4,5,6};
        perm(a,0,a.length-1);
    }
    public static void perm(int[] buf,int start,int end){
        if(start==end){
            for(int i=0;i<=end;i++){
                System.out.print(buf[i]+" ");
            }
            System.out.println();
        }
        else{
            for(int i=start;i<=end;i++){
                int temp=buf[start];
                buf[start]=buf[i];
                buf[i]=temp;
                perm(buf,start+1,end);
                temp=buf[start];
                buf[start]=buf[i];
                buf[i]=temp;
            }
        }
    }
}