13 調整陣列順序使奇數字於偶數前面

2021-10-07 01:43:10 字數 698 閱讀 3796

題目描述

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。

思路

從前向後找,先找到第乙個偶數i,再向後找,找到偶數後的第乙個奇數j,下邊是關鍵:先用temp臨時變數存一下array[ j ],然後把i到j-1之間的數依次後移一位,把array[ i ] 賦值為temp,也就是原來的偶數用奇數替代。

思路很簡單,但敘述起來可能有點囉嗦

例如:1,3,4,6,5,7

先找到第乙個偶數:4,再向後找之後的第乙個奇數5,臨時儲存5,再把4和6後移一位,再用5賦值到原來的4這一位,就變成了1,3,5,4,6,7;迴圈繼續找即可。

**

public

class

solution

else

j++;}

int temp = array[j]

;while

(j > i)

//把儲存在temp中的array[j](奇數)放在array[i]中進入下乙個迴圈,下乙個迴圈中array[i]是奇數,所以i++

array[i]

= temp;}}

}}

13 調整陣列順序使奇數字於偶數前面

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。vs2010 include include using namespace std 要求穩定性,類插入排序 clas...

13 調整陣列順序使奇數字於偶數前面

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。一 自己的解法 遍歷每個數字,分別依次將遍歷到的奇 偶數存在兩個vector容器中,最後合併在乙個容器中 合併 vecto...

13 調整陣列順序使奇數字於偶數前面

題目鏈結 題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。i表示當前指標,j i 1表示後乙個指標 核心思路 如果array i 為偶數,j向後尋找第乙個奇數,奇數前插入...