溫馨提示×

溫馨提示×

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

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

LeetCode如何調整數(shù)組順序使得奇數(shù)位于偶數(shù)前面

發(fā)布時間:2021-12-15 14:25:42 來源:億速云 閱讀:128 作者:小新 欄目:編程語言

這篇文章主要介紹LeetCode如何調整數(shù)組順序使得奇數(shù)位于偶數(shù)前面,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

題目:輸入一個整數(shù)數(shù)組,實現(xiàn)一個函數(shù)來調整該數(shù)組中數(shù)字的順序,使得所有的奇數(shù)位于數(shù)組的前半部分,所有的偶數(shù)位于位于數(shù)組的后半部分,并保證奇數(shù)和奇數(shù),偶數(shù)和偶數(shù)之間的相對位置不變。

思路一:創(chuàng)建兩個數(shù)組分別存放奇偶數(shù),奇數(shù)進入v1,偶數(shù)進入v2,最后在合并

代碼:

void reOrderArray(vector<int> &array)
{
        vector<int> v1;
        vector<int> v2;  
        for(int i=0;i<array.size();i++)
        {
            if(array[i]%2==0)
            {
                v2.push_back(array[i]);
            }
            else
            {
                v1.push_back(array[i]);
            }
        }
        for(int i=0;i<v1.size();i++)
        {
            array[i]=v1[i];
        }
        int j=v1.size();
        for(int i=0;i<v2.size();i++)
        {
             
            array[j++]=v2[i];
        }
}

思路二:利用插入排序的方式來插入奇數(shù)

代碼:

void reOrderArray(vector<int> &array) 
{
  for (int i = 1; i < array.size(); i++)
  {
   int tmp = array[i];
   if (tmp % 2 == 1)
   {
     for (int j = i; j > 0; j--)
     {
       if (array[j - 1] % 2 == 0)
       {
          int t = array[j];
          array[j] = array[j - 1];
          array[j - 1] = t;
       }
     }
    }
   }
}

以上是“LeetCode如何調整數(shù)組順序使得奇數(shù)位于偶數(shù)前面”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

AI