题目:划分一个整形数组,把负数放在左边,零放在中间,正数放在右边
思路:扫描遍历,发现正数出现在负数前面,就调换位置。
代码:
public static int[] arrayChange(int[] array) {
int length = array.length;
int low = 0;
int high = length - 1;
// 扫描遍历,发现正数出现在负数前面,就调换位置
while (low < high) {
while (array[low] < 0 && low < high) {
low++;
}
while (array[high] > 0 && low < high) {
high--;
}
int temp = array[low];
array[low] = array[high];
array[high] = temp;
}
return array;
}