给定一个整型数组,把所有负值调到数组的左边,把所有正值调到右边。例如:1、-2、-4、5、9、-3、-8、6,调整后可以是-2、-4、-3、-8、1、5、9、6.
具体的实现代码如下:
package com.threeTop.www;
/***
* 数组正负值排序
* @author wjgs
*
*/
public class ArraySort {
/**
* 借鉴快速排序的思想,进行排序
* @param array
*/
public static void Sort(int [] array)
{
int i=0;
int j=array.length-1;
while(i!=j)
{
while(i<j&&array[i]<0)
{
i++;
}
while(i<j&&array[j]>0)
{
j--;
}
//如果不满足上述的情况则进行交换
if(i<j)
{
int temp=array[i];
array[i]=array[j];
array[j]=temp;
}
}
System.out.println("借鉴快速排序的排序后的结果如下:");
for(int k=0;k<array.length;k++)
{
System.out.print(array[k]+", ");
}
}
public static void main(String[] args) {
int []array={1,-2,-4,5,9,-3,-8,6};
ArraySort.Sort(array);
}
}