练习9.3
begin不能在end之前
练习9.4
#include<iostream>
#include<string>
#include<vector>
using namespace::std;
bool find(vector<int> &pp,int num)
{
auto a = pp.begin();
auto b = pp.end();
for (size_t i = 0; a != b; i++)
{
if (*a == num)
{
return true;
}
a++;
}
return false;
}
int main()
{
vector<int> p{ 1,2,3,4,3,2,21,45,5 };
int number;
cout << "输入你要查找的数字" << endl;
cin >> number;
cout<<find(p, number);
return 0;
}
练习9.5
#include<iostream>
#include<string>
#include<vector>
using namespace::std;
vector<int>::iterator find(vector<int> &pp,int num)
{
auto a = pp.begin();
auto b = pp.end();
for (size_t i = 0; a != b; i++)
{
if (*a == num)
{
return a;
}
a++;
}
return b;
}
int main()
{
vector<int> p{ 1,2,3,4,3,2,21,45,5 };
int number;
//std::string a;
//std::cin.tie(&std::cout);
cout << "输入你要查找的数字" << endl;
cin >> number;
if (find(p, number) != p.end())
{
cout << "找到数字了" << endl;
}
else
{
cout << "没有找到" << endl;
}
return 0;
}
练习9.6
list<int> lst1;
list<int>::iterator iter1 = lst1.begin(),iter2 = lst1.end();
while(*iter1 < *iter2)/*...*/
list迭代器只支持!= 和 == 不支持 < >号
改成
while(*iter1 < *iter2)/*...*/