算法1:一个无序的int数组,包含正负数, 排序成:左边为负数 右边为正数

public class MinusPlubs {

 public static void minusLeftPlusRight(int [] nums)
 {
  int p1 = -1;
  boolean firstTime=true;
  for(int i=0; i< nums.length;i++)
  {
   if(nums[i] > 0 && firstTime)
   {
    p1 = i;
    firstTime = false;
   }
   else if(nums[i] < 0 && (p1!=-1))
   {
    int tmp = nums[p1];
    nums[p1] = nums[i];
    nums[i] = tmp;
    p1++;
   }
  }
  for(int i=0; i< nums.length; i++)
  {
   System.out.println(nums[i]+" ");
  }
 }
 
 public static void main(String [] args)
 {
  int [] nums = {-1, 2, 0, -4, 4,-5,-6,-9};
  MinusPlubs.minusLeftPlusRight(nums);
 }
}

你可能感兴趣的:(算法)