劍指offer系列7:調整數組順序使奇數位於偶數前面


標准庫類型vector表示對象的集合,其中所有對象的類型都相同。因為它“容納着”其他對象,所以它也被稱作容器(container)。

C++中有類模板和函數模板,vector是類模板。注意,vector是模板而非類型。

---C++ Primer

 1 #include<iostream>
 2 #include<vector>
 3 #include<algorithm>
 4 using namespace std;
 5 class Solution {
 6 public:
 7     void reOrderArray(vector<int> &array) {
 8         vector<int> odd;
 9         vector<int> ji;
10         for (int i = 0; i < array.size(); i++)
11         {
12             if (array[i] % 2 == 0)
13             {
14                 odd.push_back(array[i]);
15             }
16             else
17             {
18                 ji.push_back(array[i]);
19             }
20         }
21         ji.insert(ji.end(),odd.begin(),odd.end());
22         array.assign(ji.begin(), ji.end());
23         /*
24         for (int i = 0; i < ji.size(); i++)
25         {
26             cout << array[i] << endl;
27         }
28         */
29     }
30 };
31 int main()
32 {
33     Solution so;
34     vector<int> te = { 1,2,3,4,5,6,7};
35     so.reOrderArray(te);
36     return 0;
37 }

這個題要熟悉vector的各種函數,今天這道題是在別人的幫助下做的。

vector中的各種函數很多,慢慢要一個個記住,今天學習了insert,assigh,sort,加油噢。

有一個問題是判斷這個數為偶數的時候是取模計算的,我用(array[i])&(0x1)卻報錯:沒有與這些操作數匹配的 "&" 運算符,這個問題我也不知道是為什么。


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com