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ù)的個數(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++; } } } }
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
- Java算法之數(shù)組冒泡排序代碼實例講解
- Java算法之串的簡單處理
- Java算法實現(xiàn)楊輝三角的講解
- Java算法之冒泡排序?qū)嵗a
- Java算法之最長公共子序列問題(LCS)實例分析
- java算法實現(xiàn)紅黑樹完整代碼示例
- Java算法之堆排序代碼示例
- java算法之二分查找法的實例詳解
- java算法導論之FloydWarshall算法實現(xiàn)代碼
- java算法實現(xiàn)預測雙色球中獎號碼
- Java算法之遞歸算法計算階乘
- JAVA算法起步之插入排序?qū)嵗?/a>
- JAVA算法起步之堆排序?qū)嵗?/a>
- JAVA算法起步之快速排序?qū)嵗?/a>
- 關(guān)于各種排列組合java算法實現(xiàn)方法
- Java算法之時間復雜度和空間復雜度的概念和計算
相關(guān)文章
Java 實戰(zhàn)練手項目之酒店管理系統(tǒng)的實現(xiàn)流程
讀萬卷書不如行萬里路,只學書上的理論是遠遠不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+SSM+jsp+mysql+maven實現(xiàn)一個酒店管理系統(tǒng),大家可以在過程中查缺補漏,提升水平2021-11-11SpringBoot中@ConditionalOnProperty注解的使用方法詳解
這篇文章主要介紹了SpringBoot中@ConditionalOnProperty注解的使用方法詳解,在開發(fā)基于SpringBoot框架的項目時,會用到下面的條件注解,有時會有需要控制配置類是否生效或注入到Spring上下文中的場景,可以使用@ConditionalOnProperty注解來控制,需要的朋友可以參考下2024-01-01springboot中自定義異常以及定制異常界面實現(xiàn)過程解析
這篇文章主要介紹了springboot中自定義異常以及定制異常界面實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09