C Primer 第五版 9 3 1節練習

2021-09-22 14:06:17 字數 980 閱讀 4003

9.18 

#include #include using namespace std;

int main()

9.19 用list代替deque即可,其他**相同

9.20 

#include #include #include using namespace std;

int main()

; dequeodd, even;

for (auto iter = ilist.begin(); iter != ilist.end(); iter++)

for (auto i : odd)

cout << i << endl;

for (auto j : even)

cout << j << endl;

return 0;

}

9.21 迴圈每次將元素插入vector的首前位置,iter始終指向vector首,功能和list版本一樣,但vector每次在頭部插入新元素都要移動後面的所有元素,效能比較差。

9.22 insert操作會使當前容器的迭代器失效,所以每次都要重新計算iter和mid,insert操作返回指向第乙個新加入元素的迭代器,利用它來更新iter和mid,測試**如下:到達中間位置以前,每次遇到5,則在其前面插入乙個10

#include #include using namespace std;

int main()

; int someval = 5;

vector::iterator iter = iv.begin(), mid = iv.begin() + iv.size()/2;

while (iter != mid)

} for (auto i : iv)

cout << i << endl;

return 0;

}

C Primer第五版 2 4 3節練習

練習2.30 對於下面的這些語句,請說明物件被宣告成了頂層const還是底層const?const int v2 0 v2的值不能被改變,所以這是乙個頂層const int v1 v2 int p1 v1,r1 v1 const int p2 v2 p2存放的是v2的位址,不能間接改變v2的值,但p...

C Primer第五版 2 5 3節練習

練習 2.36 關於下面的 請指出乙個變數的型別以及程式結束時它們各自的值。include int main 練習 2.37 賦值是會產生引用的一類典型表示式,引用的型別就是左值的型別。也就是說,如果i是int,則表示式 i x的型別是int 根據這一特點,請指出下面的 中每乙個變數的型別和值。in...

C Primer第五版 3 2 2節練習

練習3.2 編寫一段程式從標準輸入中一次讀入一整行,然後修改該程式使其一次讀入乙個詞。練習3.3 請說明string類的輸入運算子和getline函式分別是如何處理空白字元的。練習 3.4 編寫一段程式讀入兩個字串,比較其是否相等並輸出結果。如果不相等,輸出較大的那個字串。改寫上述程式,比較輸入的兩...