题目
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
下面提供两个解决方案,不一定是最优的
方案1:非常直接的思维
思想: 分别取出奇数和偶数放到线性表中,然后再放回到数组中
代码:
运行效果:
方案2:两个指针
思想:
使用两个指针,第一个指针指向顺序的第一个偶数,第二个指针指向顺序的第一个奇数,奇数移动到这个偶数位置,偶数顺序后移一位,并且把
代码:
效果:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
下面提供两个解决方案,不一定是最优的
思想: 分别取出奇数和偶数放到线性表中,然后再放回到数组中
代码:
运行效果:
思想:
使用两个指针,第一个指针指向顺序的第一个偶数,第二个指针指向顺序的第一个奇数,奇数移动到这个偶数位置,偶数顺序后移一位,并且把
代码:
效果:
文章来源:智云一二三科技
文章标题:Java笔试题之调整数组顺序奇数放到偶数前
文章地址:https://www.zhihuclub.com/199404.shtml