package shuzu;
import java.util.Arrays;
import java.util.Scanner;
//如何把一个整型数据中,奇数偶数进行分离,如前面放奇数、后面放偶数
//前提:不引入新的数组,一次for循环。
//基本思想:一次循环、一个指针向前走(总是指向奇数),一个指针向后走(总是指向偶数)。如果第一个指针在第二个指针之前,则交换两指针指向的元素。
public class jiou {
public static void jiou(int[] array)
{
if(array.length == 0 || array == null)
return;
int left = 0;
int right = array.length - 1;
while(left < right)
{
while(left < right && array[left] % 2 == 1)
{
left ++;
}
while(left < right && array[right] % 2 ==0)
{
right --;
}
if(left < right)
{
int temp = array[left];
array[left] = array[right];
array[right] = temp;
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int a[] = {1,2,3,4,5,6,7,8};
jiou(a);
System.out.println(Arrays.toString(a));
}
}
数组相关
最新推荐文章于 2022-07-26 12:09:25 发布