偶数放在数组前面奇数放在后面

本文介绍两种数组奇偶排序的方法:一种使用双指针从两端向中间遍历;另一种使用单指针从左到右遍历,遇到偶数则与当前指向的数组起始位置进行交换并使起始位置指针右移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法1

定义两个下标,left,right,左边找奇数,右边找偶数,奇数与偶数交换即可。

import java.util.Arrays;
import java.util.Scanner;

public class Exercise {
public static void sort(int []arr){
   int left=0;
   int right=arr.length-1;
   while(left<right){
       while(arr[left]%2==0&&left<right)
           left++;
       while(arr[right]%2!=0&&left<right)
           right--;
       int t=arr[left];
       arr[left]=arr[right];
       arr[right]=t;
   }
    return ;
}
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int []a={1,5,3,7,8,2};
        sort(a);
        System.out.println(Arrays.toString(a));
    }
}

方法2

设定两个变量,i,j,都指向数组起始位置,i开始遍历数组,当i指定的数组为偶数时,i,j所指向的数组交换,j加加。直到i遍历完数组。

import java.util.Arrays;
import java.util.Scanner;

public class Exercise {
public static void sort(int []arr){
    int j=0;
    for(int i=0;i<arr.length;i++){
        if(arr[i]%2==0){
            int t=arr[i];
            arr[i]=arr[j];
            arr[j]=t;
            j++;
        }
    }
    return ;
}
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int []a={1,5,3,7,8,2};
        sort(a);
        System.out.println(Arrays.toString(a));
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值