習題地址 https://www.acwing.com/solution/acwing/content/2921/算法
輸入一個整數數組,實現一個函數來調整該數組中數字的順序。數組
使得全部的奇數位於數組的前半部分,全部的偶數位於數組的後半部分。函數
樣例spa
輸入:[1,2,3,4,5] 輸出: [1,3,5,2,4]
算法1
使用雙指針 一個從前到後 一個從後到前
遇到不符合標準則互相替換
直到第一個指針比第二個指針大指針
C++ 代碼code
class Solution { public: void reOrderArray(vector<int> &array) { int p1 =0; int p2 = array.size()-1; while(p1<p2){ while(array[p1] %2 !=0){ p1++; } while(array[p2]%2 == 0){ p2--; } if(p1<p2){ swap(array[p1],array[p2]); p2--;p1++; } } return; } }; 做者:defddr 連接:https://www.acwing.com/solution/acwing/content/2921/ 來源:AcWing 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。