文章出處
題目描述輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有的奇數位于數組的前半部分,所有的偶數位于位于數組的后半部分,并保證奇數和奇數,偶數和偶數之間的相對位置不變。 第一種方法,使用STL中stable_partition函數來實現,stable_partition(v.begin(),v.end(),fun),fun函數為bool型,fun為真的防前面,fun為假的放后面
Code:
bool OddOrEven(int n){ //if n is odd,return true return n & 0x01 == 1;}class Solution {public: void reOrderArray(vector&array) { //后面這個函數必須是在全局定義的 stable_partition(array.begin(),array.end(),OddOrEven); }};
第二種方法,用兩個數組分別存儲odd和even,然后再覆蓋原數組Code:
class Solution {public: void reOrderArray(vector&array) { vector odd; vector even; for(int i=0;i
就愛閱讀www.92to.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20161206/63574.html
文章列表
全站熱搜