陣列奇數左邊偶數右邊位置不變

2021-09-30 23:23:27 字數 947 閱讀 2631

**如下:自己看吧

public class testodd 

while(array[left]%2 == 0 && array[right]%2 ==0)

if (array[left]%2==0 && array[right]%2 !=0)

left++;

right--;}}

public static void swamp(int left, int right, int arr)

public static void main(string args) ;

reorderarray(array);

for (int i = 0; i < array.length; i++) }}

實現結果是這樣: 保證左右的奇數偶數屬性 但是不能保證順序

所以我採取下面的策略:

雙指標第乙個去移動,移動到 偶數為止

第二個去尋找,尋找到奇數 與之互動

public class test2 

swamp(left,right,arr);

left++;

right=left+1;

}//如果當前為奇數 移動當前位置 移動到偶數為之

while (arr[left]%2 !=0 )}}

public static void swamp(int left, int right, int arr)

public static void main(string args) ;

sortodd(array);

for (int i = 0; i < array.length; i++) }}

將陣列的奇數放在左邊,偶數放在右邊

使用兩個指標i和j,初始化均為0。然後j往後遍歷,若遇到了奇數,則將 a j 和 a i 交換位置,同時i自增1,這樣操作下來,同樣可以將所有的偶數都放在奇數前面 public class sortarraybyparity sort arr arrays.stream arr foreach s ...

重新排列陣列使得左邊為奇數,右邊為偶數

題目 給定乙個存放整數的陣列,重新排列陣列使得左邊為奇數右邊為偶數 思路 定義兩個指標left,right遍歷陣列左右向中間靠攏,如果左偶數右奇數交換 如果左為奇數,left 如果右為偶數,right date 2016年7月6日 public class 左邊為奇數右邊為偶數 public sta...

劍指offer之 調整奇數偶數陣列位置

package problem14 問題描述 輸入乙個整數陣列,實現乙個函式來調整該陣列中數字的順序,使得所有奇數字與陣列的前半部分,所有偶數字與陣列的 後半部分 public class reorderoddeven while firstindex lastindex while firstin...