日期:2014-05-20 浏览次数:20858 次
public static void main(String[] args)
    {
        int[] a = { 1, 1, 1, 0, 0 };
        int i = 0;
        while (true)
        {
            for (int j = 0; j < a.length; j++)
                System.out.print(a[j]);
            System.out.println();
            for (; i < a.length - 1; i++)
            {
                if (a[i] == 1 && a[i + 1] == 0)
                {
                    int tem = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = tem;
                    for (int j = 0, k = 0; j < i; j++)
                    {
                        if (j == k && a[j] == 1)
                        {
                            k++;
                            continue;
                        }
                        if (a[j] == 1)
                        {
                            a[k] = a[j];
                            a[j] = 0;
                            k++;
                        }
                    }
                    i = 0;
                    break;
                }
            }
            if(i != 0)
                break;
        }
    }