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

2021-07-13 22:17:57 字數 1032 閱讀 8027

題目描述

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,

使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,

並保證奇數和奇數,偶數和偶數之間的相對位置不變。

vs2010**:

#include

#include

using

namespace

std;

//要求穩定性,類插入排序

class solution

// array[i]=temp;

// }

//}//方法二:陣列倒換的笨方法,牛客網竟然也通過了

vector

v1,v2;

int p1=0;

for(int p=0; pelse

v2.push_back(array[p]);

}int p2=0;

for(int p=0; p}

}};int main()

s1.reorderarray(a1);

for(int i=0; i<7; i++)

cout

}public:

void reorderarray(vector

&array)

};

說明:一開始看錯題目,以為是,偶數和奇數分開,前偶數,後奇數,前後均各自排序,要求穩定。

下面貼出**:

//先分奇偶,再排序。

class solution

insortsort(array, 0, begin-1);

insortsort(array, begin, array.size()-1);

}void insortsort(vector

&h, int b, int e)

if((i+1)!=p) h[i+1]=temp;}}

//for(int p=b+1; p<=e; p++) //插入排序

// }

};

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

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

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

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

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

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。思路 從前向後找,先找到第乙個偶數i,再向後找,找到偶數後的第乙個奇數j,下邊是關鍵 先用temp臨時變數存一下array...