9.3

来源:互联网 发布:红楼梦贾迎春知乎 编辑:程序博客网 时间:2024/05/16 13:51
本节大意
本节是一个大节,详细讲述了各种顺序容器的使用。

细节摘录
1. begin和end放回值最好不要存放,因为一旦进行插入或者删除操作,它们就将作废。
2.

课后习题
1. 不会,暂留。
2. list<string>::value_type
3. 增加一个标识符即可
4. 题目有问题
5. 不用判断了,肯定不同。因为类型都不同。事实上编译都不能通过。
6. 容器类型一定要相同,而且容器类型的元素也一定要相同。
7. 会在原来的基础上添加75个元素,这些参数采用值初始化。而下一个操作则会删除掉现在元素并重新建立15个值初始化的元素。
8. 必须是内置类型或者是具有默认构造函数的类类型。
9.
#include <iostream>#include <vector>using namespace std;int main(){vector<int> v;v.push_back(2);cout << ".front(): " << v.front() << " .begin(): " << *v.begin() << " v[0]: " << v[0] << endl;return 0;}

10. 第一种情况会删除当前元素,第二种情况会编译不通过。
11. 比较容易实现,省略。
12.
#include <iostream>#include <vector>#include <algorithm>using namespace std;int main(){vector<int> v;for (int i=1; i<5; i++) {v.push_back(i);}int num;cout << "请输入要删除的元素:" << endl;cin >> num;vector<int>::iterator it=find(v.begin(), v.end(), num);if (it != v.end()) { // 要注意查找不到元素的情况v.erase(it);cout << "删除成功" << endl;}elsecout << "未找到相应元素" << endl;cout << "当前容器中元素:" << endl;for (vector<int>::iterator it=v.begin(); it!=v.end(); it++)cout << *it << " ";cout << endl;return 0;}

13. 请教中,后补上。