映射:
映射的基本格式是 一个key,一个value (key,value);
映射的定义:
1、map <int,int> s;
映射的插入。
1、a.insert(pair(int,int)(key,value));
2、a.insert(map<int,int>:value_type(key,value));
3、a[key]=2;
映射的查找:
a.find(参数);
返回值,如果能找到就返回这个元素的迭代器,如果找不到就返回末尾的迭代器,
a.erase(it);
删除此迭代器的元素。
a.count();
返回map里面的key的数目;
a.empty()
判断是否为空,空则返回ture,否则返回flase;
#include <iostream>
#include <map>
#include<string>
using namespace std;
template <class T>
void print(T v)
{
T::iterator it=v.begin();
while(it!=v.endl())
{
cout<<it->first<<” ”<<it->second;
i t++;
}
cout<<endl;
}
int main()
{
map <int,string> s;
map<int,string>::iterator it;
pair<map<int,string>::iterator ,bool> in;
in=s.insert(pair(1,”xiaowang”));
if(!in)
{
cout<<”errer”<<endl;
}
in=s.insert(map<int,string>:value_type(1,”xiaowang”));
if(!in)
{
cout<<”errer”<<endl;
}
a[3]=”why”;
it=find(1)
if(it!=s.end())
{
cout<<”find success”<<endl;
cout<<it->first<<” ”<<it->second<<endl;
s.erase(it);
}
return 0;
}
栈:
栈的初始化有两种:
1、stack <int>; 这里是默认使用的queue做为存储的工具;
2、stack<int,vector<int> >这里是使用的vector做为存储工具;
栈的操作函数有:
puhs(),pop() 入栈出栈操作,top() 返回栈顶元素,empty()判断栈是否为空,如果为空则返回ture,否则返回flase,size()返回栈的元素个数;
#include<iostream>
#Include <stack>
#include <vector>
template <class T>
void print(T v)
{
T:iterator it=v.begin();
while(it!=v.end())
{
cout<<top()<<” ”;
pop();
}
cout<<endl;
}
int main()
{
stack <int,vector<int> > s;
for(int i=0;i<3;i++)
{
s.push(i);
}
print(s);
pop(s.begin())
print(s);
return 0;
}
算法:
算法是基于模板的一些函数;
包括:
vector <int> s;
vector <int> s1;
vector <int> s2;
vecotr <int>::iterator it;
1、fill(s.begin(),s.end(),5); fill 的意思是指,从begin到end()之间都填充5这个元素。
2、copy(s.begin(),s.end(),s1.begin()); copy的意思是指,把s从begin到end 所有的元素都拷贝到s1以s1的begin()为开始地址。
3、merge(s.begin(),s.end(),s1.begin(),s1.end(),s2.begin()) ,把两个有顺序的vector 按照先s 后s1一起当道s2当中。
4、remove(s.begin(),s.end(),5);把 s从begin 到end中所有的5都删除了。
5、replace(s.begin(),s.end(),5,9)把s从begin到end中所有的5换成9。
6、it=find(s.begin(),s.end(),5),从s的begin到end中找5,找到就返回,找到的第一个元素的迭代器,如果没有找到就返回尾迭代器。
7、search(s.begin(),s.end(),s1.begin(),s1.end())从s的begin()到s.end() 找s1.begin()到s1.end()这个字符串,返回第一次出现位置的迭代器。
8、sort(s);将 s里面的元素按照升序进行排列;
9、reverse(s);将 s里面的元素进行反转;
10、swap(s.begin(),s.end())将s的begin 和end进行值交换;