調整陣列位次,奇數的在前面,偶數的在後面。

2021-08-02 17:59:22 字數 618 閱讀 7494

題目: 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。

思路:建立個陣列,遍歷奇數,存入,遍歷偶數存入,覆蓋原陣列。

class solution {

public:

void reorderarray(vector&array) {

//2023年-6-18- 週日

//思路:偶數:123456

//輔助陣列肯定不行

//奇數:1234567

//從前往後掃。若為奇數則不動,若為偶數則。

//判斷是否為

//插入排序。快速排序是不穩定的

if(array.empty()) return ;

// vectortmp()

//掃瞄奇數,前移,偶數存在輔助陣列裡

//1 快速排序

//建立輔助陣列

//int len=array.size();

vectortmp;

//奇怪,太多,做出來總比做不出來好

//zhengqigu

int index=0;

while(index

調整陣列使得奇數都在前面,偶數都在後面

調整陣列使得奇數都在前面,偶數都在後面 可擴充套件到其他形式,如正負等 分析 可以使用時間複雜度為o n 空間複雜度也為o n 的插入演算法。新建乙個和原來陣列一樣大小的陣列,再遍歷陣列中的每個元素,如果是奇數,則插入陣列的前半部分,如果是偶數,則插入陣列的後半部分,這樣就可以看成是兩端不斷往中間擴...

劍指offer 調整陣列順序使奇數在前面

題目描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於陣列的後半部分,並保證奇數和奇數,偶數和偶數之間的相對位置不變。思路 1.暴力法,定義兩個列表來分別訪問陣列中的奇數和偶數,最後按照題目要求把列表中的數重新儲存到array陣列中。pub...

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

輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有的奇數字於陣列的前半部分,所有的偶數字於位於陣列的後半部分。看了別人的思路,類似於快速排序,思路 下面來自於 要求把奇數放在陣列的前半部分,偶數放在陣列的後半部分,因此所有的奇數應該位於偶數的前面,也就是說我們在掃瞄這個陣列的時候,如果...