bool[]  bis= {false,false,false,true,false,false,true,true,false,true};
要求是,是真的 排在前面、、、
在线等,谢了!

解决方案 »

  1.   

    public class Test {
    static boolean[] bis = { false, false, false, true, false, false, true,
    true, false, true }; public static void main(String args[]) {
    int i = 0;
    for (int j = 0; j < bis.length; j++) {
    if (bis[j]) {
    swap(j, i);
    i++;
    }
    }
    System.out.println(Arrays.toString(bis));
    } static void swap(int j, int i) {
    boolean temp = bis[j];
    bis[j] = bis[i];
    bis[i] = temp;
    }
    }
      

  2.   

    两趟遍历,一趟计算TRUE个数,第二趟赋值。
      

  3.   

    public class BooleanSort {
    boolean[] bis= {false,false,false,true,false,false,true,true,false,true};
    boolean temp;
    public BooleanSort()
    {
    int low=0;
    int high=bis.length-1;
    while(low<=high)
    {
    if(!bis[low])
    {
    if(!bis[high])
    {
    high--;
    }else
    {
    temp=bis[low];
    bis[low]=bis[high];
    bis[high]=temp;
    low++;
    high--;
    }
    }else 
    {
    low++;
    }
    }
    for(int i=0;i<bis.length;i++)
    {
    System.out.print(bis[i]+" ");
    }
    }
    public static void main(String[] args) 
    {
    new BooleanSort();
    }}
      

  4.   

    boolean[] bis = { false, true, false, true, false, false, true, true,
    false, true };
    for (int k = 0; k < bis.length; k++) {
    for (int j = k; j < bis.length; j++) {
    if (bis[k] != bis[j]) {
    bis[k] = true;
    bis[j] = false;
    break;
    }
    }
    }