您好,登錄后才能下訂單哦!
這篇文章主要介紹LeetCode如何調整數組順序使得奇數位于偶數前面,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
題目:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。
思路一:創建兩個數組分別存放奇偶數,奇數進入v1,偶數進入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]; } }
思路二:利用插入排序的方式來插入奇數
代碼:
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如何調整數組順序使得奇數位于偶數前面”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。