每日算法之调整数组顺序使奇数位于偶数前面(一)(数组奇偶数排序)

  本篇文章为你整理了每日算法之调整数组顺序使奇数位于偶数前面(一)(数组奇偶数排序)的详细内容,包含有数组奇数在前偶数在后保持顺序 数组奇偶数排序 数组奇数升序偶数降序 把数组中的奇数排在偶数前面 每日算法之调整数组顺序使奇数位于偶数前面(一),希望能帮助你了解 每日算法之调整数组顺序使奇数位于偶数前面(一)。

  

输入一个长度为 n 整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前面部分,所有的偶数位于数组的后面部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

 

  

 

  

既然要把所有的奇数放在数组前面,所有的偶数放在数组后面,那可以统计奇数在原数组中出现了多少次,这样就可以找到二者的分界线。

 

  有了分界线以后,前面就是奇数,后面就是偶数,可以利用两个指针分别指向二者的开头,遇到一个元素就添加到相应位置,然后指针移动。

  具体做法:

  step 1:遍历数组,统计奇数出现的次数,即找到了偶数开始的位置。

  step 2:准备一个和原数组同样长的新数组承接输出,准备双指针,x指向奇数开始的位置,y指向偶数开始的位置。

  step 3:遍历原数组,遇到奇数添加在指针x后面,遇到偶数添加在指针y后面,直到遍历结束。

  

 

  

package mid.JZ21调整数组顺序使奇数位于偶数前面1;

 

  import jdk.nashorn.internal.ir.CallNode;

  import sun.awt.geom.AreaOp;

  import java.util.*;

  以上就是每日算法之调整数组顺序使奇数位于偶数前面(一)(数组奇偶数排序)的详细内容,想要了解更多 每日算法之调整数组顺序使奇数位于偶数前面(一)的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: