您好,登錄后才能下訂單哦!
小編給大家分享一下Java算法如何實現調整數組順序使奇數位于偶數之前,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
調整數組順序使奇數位于偶數之前
1. 題目描述
輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。
2. 題目分析
該題目類似于一個選擇排序,將奇數選擇出來,放置于數據前面的位置,保持其他未被選擇的元素的相對位置不變;
1. 遍歷數組,當數組元素為奇數是進行處理,判斷條件為 n % 2 != 0
2. 設置一個變量標注當前已遍歷的元素中奇數的個數oddNum,也是將該奇數元素放置于數組中的索引
3. 循環將該元素前至上一個奇數(已放置好的奇數元素位于數組oddNum的位置)之間的偶數向后移一位,然后將該元素放置于oddNum+1的位置
3. 解題代碼
public class Solution { public void reOrderArray(int [] array) { int oddNum = 0; for (int i = 0; i < array.length; i++) { if (array[i] % 2 != 0) { int temp = array[i]; for (int j = i; j > oddNum; j--) { array[j] = array[j - 1]; } array[oddNum] = temp; oddNum++; } } } }
以上是“Java算法如何實現調整數組順序使奇數位于偶數之前”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。