简单搜索中对对广度优先搜索理解的还是不到位,如那个农夫追赶奶牛的问题,对农夫的初始位置用循环加减乘,并对各结果进行入队,然后取队首元素出队,对出队元素进行上步操作,如果说得到的结果与之前的重复了那就舍弃,直到得出结果;想了想,就是如果你的计算结果在之前已经得到了,那就说明这一步是多余的,因为在相同步数内,别的已经先达到了。
字符串的输入输出流stringstream
使用时需要包含头文件<sstream>
总结来说,可以定义一个包含字符串,整数,布尔数,浮点数的字符串(说着有些别扭,理解就好)
定义各种类型的变量,然后对他们用字符串输入输出流定义的变量输入,输出这些刚定义的变量时,输出的结果就是字符串中它对应的类型。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
string str("How are you? 123 1 4.368");
stringstream ss(str);
cout<<ss.str()<<endl;
string tmp;
for(int i=0;i<3;i++){
ss>>tmp;
cout<<tmp<<" ";
}
int a;
ss>>a;
cout<<endl<<a<<endl;
bool b;
ss>>b;
cout<<b<<endl;
float c;
ss>>c;
cout<<c<<endl;
ss.clear();
ss.str("I am fine!");
while(ss>>tmp){
cout<<tmp<<" ";
}
}
map
map可以将任何基本类型映射到任何基本类型
使用map输出字符,数字的映射,他会按字典序排序后进行输出
List是stl实现的双向链表,与向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢。
push_back 是算法语言里面的一个 函数名。 C++ 中的vector头文件里面就有这个push_back函数,在vector类中作用为在vector尾部加入一个数据。string中也有这个函数,作用是字符串之后插入一个字符。