C++在线运行

版本:
运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,更高效的运行,点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
【C++】deque构造函数 发布于:2022-09-30 23:27 【C++】vector预留空间 发布于:2022-09-30 23:20 【C++】vector互换容器 发布于:2022-09-30 22:57 【C++】vector数据存取 发布于:2022-09-30 22:39 4写个Complex类 发布于:2022-09-30 22:54 五位数相乘 发布于:2022-09-30 21:25 没卸出来。 发布于:2022-09-30 21:25 22_9_30_插入排序 发布于:2022-09-30 21:20 22_9_30_选择排序 发布于:2022-09-30 21:16 插入排序法 发布于:2022-09-30 21:20 不知道是啥 发布于:2022-09-30 20:55 数字排序(冒泡) 发布于:2022-09-30 20:32 能被三整除 发布于:2022-09-30 19:31 顺序表代码 发布于:2022-09-30 19:10 【C++】vector插入和删除 发布于:2022-09-30 21:11 【C++】vector容量和大小 发布于:2022-09-30 16:43 【C++】vector赋值操作 发布于:2022-09-30 11:56 c++基类派生类 发布于:2022-09-30 09:17 给出一组关键字K={11,9,3,20,56,32},写出应用下列方法排序时,每轮排序中关键字的排序状态 发布于:2022-09-29 21:51 "找出一个满足下列竖式的五位数,输出该五位数及相应六位" 发布于:2022-09-29 21:26 数组冒泡法 发布于:2022-09-29 21:25 五位数输出成六位数 发布于:2022-09-29 21:17 冒泡排序法 发布于:2022-09-29 21:16 冒泡的实现 发布于:2022-09-29 20:59 1~n整数中能被3整除的数 发布于:2022-09-29 20:54 输入数组元素,进行查找。 发布于:2022-09-29 22:53 顺序查找的实现 发布于:2022-09-29 20:44 c++加减乘除 发布于:2022-09-29 20:14 1-n被3整除 发布于:2022-09-29 19:34 顺序查找法 发布于:2022-09-29 19:16 冒泡的实现 完全逆序,完全有序 发布于:2022-09-29 18:40 中缀表达式转后缀 发布于:2022-09-29 18:40 顺序查找 数据在数组中,数据不在数组中 发布于:2022-09-29 18:34 求满足个位比百位大,百位比十位大,三个位数之和和三个位数之积相等的三位数 发布于:2022-09-29 18:29 1~n整数中能被3整除的数 发布于:2022-09-29 18:24 逆序的啊。 发布于:2022-09-29 18:16 顺序表的查找 发布于:2022-09-29 18:13 顺序查找的实现 发布于:2022-09-29 18:02 ffmpeg - hls 发布于:2022-09-29 17:52 顺序查找。 发布于:2022-09-29 15:38 冒泡的实现 发布于:2022-09-29 15:33 顺序查找的实现 发布于:2022-09-29 15:20 顺序查找的实现 发布于:2022-09-29 15:18 三位数,这三位数要满足个位比百位大,百位比十位大,三个位数之和和三个位数之积相等 发布于:2022-09-29 15:15 1~n整数中能被3整除的数 发布于:2022-09-29 15:09 假如教学楼里有n个台阶, 每次你可以跨1个台阶或者2个台阶, 请问走着n个台阶有多少中走法? 发布于:2022-09-29 14:54 有一个三位数,个位数字比百位数字大,而百位数字比十位数字大,并且各位数字之和等于各位数字之积。求这个三位数。 发布于:2022-09-29 14:41 打印1-n能被3整除的的数 发布于:2022-09-29 13:46 冒泡排序算法 发布于:2022-09-29 13:21 顺序查找的实现 发布于:2022-09-29 13:00 [更多]
显示目录

map用法



map用法

map是C++中的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,本文为大家总结了map的一些基本简单的操作!

1、map最基本的构造函数;

mapmapstring; mapmapint;
mapmapstring; map< char ,string>mapchar;
mapmapchar; mapmapint;

2、map添加数据;

 map<int ,string> maplive;  
   1.maplive.insert(pair<int,string>(102,"aclive"));
   2.maplive.insert(map<int,string>::value_type(321,"hai"));
   3, maplive[112]="April";//map中最简单最常用的插入添加!

3、map中元素的查找:

find()函数返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。

 map<int ,string >::iterator l_it;; 
   l_it=maplive.find(112);
   if(l_it==maplive.end())
                cout<<"we do not find 112"<<endl;
   else cout<<"wo find 112"<<endl;

4、map中元素的删除:

如果删除112;

 map<int ,string >::iterator l_it;;   
   l_it=maplive.find(112);
   if(l_it==maplive.end())
        cout<<"we do not find 112"<<endl;
   else  maplive.erase(l_it);  //delete 112;

5、map中 swap的用法:

Map中的swap不是一个容器中的元素交换,而是两个容器交换;

示例:

 #include <map> 
 #include <iostream>
  using namespace std;
  int main( )
  {
      map <int, int> m1, m2, m3;
      map <int, int>::iterator m1_Iter;
      m1.insert ( pair <int, int>  ( 1, 10 ) );
      m1.insert ( pair <int, int>  ( 2, 20 ) );
      m1.insert ( pair <int, int>  ( 3, 30 ) );
      m2.insert ( pair <int, int>  ( 10, 100 ) );
      m2.insert ( pair <int, int>  ( 20, 200 ) );
      m3.insert ( pair <int, int>  ( 30, 300 ) );
   cout << "The original map m1 is:";
   for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
      cout << " " << m1_Iter->second;
      cout   << "." << endl;
   // This is the member function version of swap
   //m2 is said to be the argument map; m1 the target map
   m1.swap( m2 );
   cout << "After swapping with m2, map m1 is:";
   for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
      cout << " " << m1_Iter -> second;
      cout  << "." << endl;
   cout << "After swapping with m2, map m2 is:";
   for ( m1_Iter = m2.begin( ); m1_Iter != m2.end( ); m1_Iter++ )
      cout << " " << m1_Iter -> second;
      cout  << "." << endl;
   // This is the specialized template version of swap
   swap( m1, m3 );
   cout << "After swapping with m3, map m1 is:";
   for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
      cout << " " << m1_Iter -> second;
      cout   << "." << endl;
}

6、map的sort问题:

Map中的元素是自动按key升序排序,所以不能对map用sort函数:

示例:

 #include <map>`` #include <iostream>
 using namespace std;
 int main( )
 {
   map <int, int> m1;
   map <int, int>::iterator m1_Iter;
   m1.insert ( pair <int, int>  ( 1, 20 ) );
   m1.insert ( pair <int, int>  ( 4, 40 ) );
   m1.insert ( pair <int, int>  ( 3, 60 ) );
   m1.insert ( pair <int, int>  ( 2, 50 ) );
   m1.insert ( pair <int, int>  ( 6, 40 ) );
   m1.insert ( pair <int, int>  ( 7, 30 ) );
   cout << "The original map m1 is:"<<endl;
   for ( m1_Iter = m1.begin( ); m1_Iter != m1.end( ); m1_Iter++ )
      cout <<  m1_Iter->first<<" "<<m1_Iter->second<<endl;
}

7、map的基本操作函数:

C++ Maps是一种关联式容器,包含“关键字/值”对
begin() 返回指向map头部的迭代器
clear() 删除所有元素
begin() 返回指向map头部的迭代器
clear() 删除所有元素
count() 返回指定元素出现的次数
empty() 如果map为空则返回true
end() 返回指向map末尾的迭代器
equal_range() 返回特殊条目的迭代器对
erase() 删除一个元素
find() 查找一个元素
get_allocator() 返回map的配置器
insert() 插入元素
key_comp() 返回比较元素key的函数
lower_bound() 返回键值>=给定元素的第一个位置
max_size() 返回可以容纳的最大元素个数
rbegin() 返回一个指向map尾部的逆向迭代器
rend() 返回一个指向map头部的逆向迭代器
size() 返回map中元素的个数
swap() 交换两个map
upper_bound() 返回键值>给定元素的第一个位置
value_comp() 返回比较元素value的函数
由JSRUN为你提供的C++在线运行、在线编译工具
        JSRUN提供的C++在线运行,C++ 在线运行工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿

  • 00:23
注册登录后可减少验证码的弹出,点击前往 注册 | 登录

皮肤:

运行模式:

嵌入代码 iframe嵌入:


服务器已安装大部分常用的第依赖库,但仍可能存在一些未被安装的库, 可以通过本窗口立即安装所需依赖库。


请输入依赖库的名称:

请选择语言: