C++7.27知识

映射:

 映射的基本格式是 一个key,一个value (key,value);

映射的定义:

1、map <int,int> s;

映射的插入。

1a.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,否则返回flasesize()返回栈的元素个数;

#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 的意思是指,从beginend()之间都填充5这个元素。

2、copy(s.begin(),s.end(),s1.begin()); copy的意思是指,把sbeginend 所有的元素都拷贝到s1s1begin()为开始地址。

3、merge(s.begin(),s.end(),s1.begin(),s1.end(),s2.begin()) ,把两个有顺序的vector 按照先s s1一起当道s2当中。

4、remove(s.begin(),s.end(),5);sbegin end中所有的5都删除了。

5、replace(s.begin(),s.end(),5,9)sbeginend中所有的5换成9

6、it=find(s.begin(),s.end(),5),sbeginend中找5,找到就返回,找到的第一个元素的迭代器,如果没有找到就返回尾迭代器。

7、search(s.begin(),s.end(),s1.begin(),s1.end())sbegin()s.end() s1.begin()s1.end()这个字符串,返回第一次出现位置的迭代器。

8、sort(s);s里面的元素按照升序进行排列;

9、reverse(s);s里面的元素进行反转;

10、swap(s.begin(),s.end())sbegin end进行值交换;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值