一般的思想是:创建一个数组,将原数组中的奇数放在新数组的左侧,将原数组的偶数放在新数组的右侧

但是这样会消耗空间,所以考虑在原来数组上进行改变。

设置两个指针,从左找偶数,从右找奇数,让找到偶数与找到的奇数位置交换。
public static void main(String[] args) { // TODO Auto-generated method stub
int[] arr= {3,2,1,5,6,8,9,3}; f(arr); for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+" ");; } } public static void f(int[] arr) { int
start=0,end=arr.length-1; while(start<=end) { if(arr[start]%2==1) { start++; }
else if(arr[end]%2==0) { end--; } else if(arr[start]%2==0&&arr[end]%2==1) { int
temp=arr[end]; arr[end]=arr[start]; arr[start]=temp; } } }

技术
今日推荐
阅读数 170189
阅读数 23
阅读数 5
阅读数 0
下载桌面版
GitHub
百度网盘(提取码:draw)
Gitee
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:766591547
关注微信