本节大意
本节是一个大节,详细讲述了各种顺序容器的使用。
细节摘录
1. begin和end放回值最好不要存放,因为一旦进行插入或者删除操作,它们就将作废。
2.
课后习题
1. 不会,暂留。
2. list<string>::value_type
3. 增加一个标识符即可
4. 题目有问题
5. 不用判断了,肯定不同。因为类型都不同。事实上编译都不能通过。
6. 容器类型一定要相同,而且容器类型的元素也一定要相同。
7. 会在原来的基础上添加75个元素,这些参数采用值初始化。而下一个操作则会删除掉现在元素并重新建立15个值初始化的元素。
8. 必须是内置类型或者是具有默认构造函数的类类型。
9.
10. 第一种情况会删除当前元素,第二种情况会编译不通过。
11. 比较容易实现,省略。
12.
13. 请教中,后补上。
本节是一个大节,详细讲述了各种顺序容器的使用。
细节摘录
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;
}
else
cout << "未找到相应元素" << endl;
cout << "当前容器中元素:" << endl;
for (vector<int>::iterator it=v.begin(); it!=v.end(); it++)
cout << *it << " ";
cout << endl;
return 0;
}
13. 请教中,后补上。