JAVA实现调整数组顺序使奇数位于偶数前面问题(《剑指 offer》)

来源:互联网 发布:域名在线评估 编辑:程序博客网 时间:2024/06/04 18:55

在纸质书中的题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。并没有要求相对位置不变,这里添加了这个条件,使得其更像是冒泡排序的思路。

1、一般想法,不考虑时间复杂度:

每次遍历数组,碰到一个偶数就拿出来,将后面所有数字向前挪动一位,在将该偶数放到最后。

2、利用冒泡排序的思想,两个指针,一前以后,如果前为偶数,后为奇数,就交换。

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
[java] view plain copy
  1. public class Solution {  
  2.     public void reOrderArray(int [] array) {  
  3.        int temp0;  
  4.          for (int i = 0; i < array.length; i++) {  
  5.             if (array[i] % 2 == 1) {  
  6.                 for (int j = i - 1; j >= 0; j--) {  
  7.                     if (array[j] % 2 == 0) {  
  8.                         temp0 = array[j];  
  9.                         array[j] = array[j+1];  
  10.                         array[j+1] = temp0;  
  11.                     }  
  12.                 }  
  13.             }  
  14.         }          
  15.     }  
  16. }  

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 笔记本内置无线网卡坏了怎么办 笔记本无线网卡坏了怎么办 wif连上不能上网怎么办 手机wifi有个感叹号怎么办 分手不删qq微信怎么办 优盘提示被锁了怎么办 电视无线网卡插上没反应怎么办 光猫没有wan口怎么办 usb无线网卡坏了怎么办 wifi接收器电脑不识别怎么办 无线路由接收器识别不了怎么办 小米3一直闪红灯怎么办 手机拨号键删了怎么办 联想笔记本电脑无线网卡坏了怎么办 联想z360内置无线网卡坏怎么办 usb无线网卡驱动安装失败怎么办 无线网被禁用了怎么办 未连接无线通信已关闭怎么办 手机设置路由器打不开了怎么办 手机打不开登录路由器的网址怎么办 按了光猫复位后怎么办 按了猫的复位键怎么办 望远镜的镜片小水雾是怎么办 坚果r1不断重启怎么办 忘记Wi-Fi密码了怎么办 魅蓝手机null锁住了怎么办 红米手机锁屏了怎么办 不记得锁屏密码怎么办 小米手机音量键坏了怎么办 小米6音量键坏了怎么办 小米2s开不开机怎么办 小米4不充电了怎么办 小米2开不开机怎么办 手机开机键开不了机怎么办 三星s4反复重启怎么办 小米5反复重启怎么办 电脑系统奔溃了怎么办 电脑开机后屏幕出现英文怎么办 小米4开不开机了怎么办 小米4一直显示mi怎么办 小米手机开关键失灵怎么办