溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java算法如何實現(xiàn)調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)之前

發(fā)布時間:2021-08-06 11:59:19 來源:億速云 閱讀:143 作者:小新 欄目:編程語言

小編給大家分享一下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è)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI