給定乙個長度不小於2的陣列arr,實現乙個函式調整arr,要麼讓所有的偶數下標都是偶數,要麼讓所有的奇數下標都是奇數
注意:1、陣列下標從0開始!
2、本題有special judge,你可以輸出任意一組合法解!同時可以證明解一定存在
[要求]
時間複雜度為o(n)o(n),額外空間複雜度為o(1)o(1)
#include#includeusing namespace std;
void swap(vector& arr, int index1, int index2)
void sortbyindexoddandeven(vector&arr, int n)
int even=0;
int odd=1;
int end=n-1;
while(even<=end && odd<=end)else
}return;
}int main()
sortbyindexoddandeven(arr, n);
for(auto num:arr)
cout/system("pause");
return 0;
}
奇數下標都是奇數或者偶數下標都是偶數
created by lxw,liwei4939 126.com on 2017 11 3.奇數下標都是奇數或者偶數下標都是偶數 最後位置是偶數,就向偶數下標傳送,否則就向奇數下標傳送 如果偶數下標或者奇數下標無法再向右移動,迴圈結束 public class evenandodd int even...
奇數下標都是奇數或者偶數下標都是偶數
給定乙個長度不小於2的陣列arr,實現乙個函式調整arr,要麼讓所有的偶數下標都是偶數,要麼讓所有的奇數下標都是奇數 注意 1 陣列下標從0開始!2 本題有special judge,你可以輸出任意一組合法解!同時可以證明解一定存在 要求 時間複雜度為o n o n 額外空間複雜度為o 1 o 1 ...
轉換陣列使奇數字為奇數 偶數字為偶數
設定 odd even兩個標誌位為odd為1,even為0,然後從最後一位開始看,如果說最後一位為偶數,就和even位交換,even自增2,如果是奇數,則和odd位交換,odd自增2,一直到二者其中乙個越界位置。解法比較奇特。include include include using namespa...