给定一个整型数组,把所有负值调到数组的左边,把所有正值调到右边。例如: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); } }