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