您好,登錄后才能下訂單哦!
這篇文章主要介紹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è)資訊頻道!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。