牛客網-調整陣列順序使奇數位於偶數前面
阿新 • • 發佈:2018-11-10
輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有的奇數位於陣列的前半部分,所有的偶數位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。
class Solution { public: void reOrderArray(vector<int> &array) { int position = 0; int length=array.size(); for (int i = 0; i < length; i++) { if ((array[i]%2)==0) { position = i;//找出第一個偶數的位置 break; } } for (int i = position; i < length; i++) { if ((array[i]%2)!=0)//如果是奇數,則插入 { int temp = array[i];//插入排序 for (int j = i; j > position; j--) { array[j] = array[j - 1]; } array[position] = temp; position++;//注意,每次插入後第一個偶數的位置後移了一位 } } } };