C++标准库学习之Maps #include C++ Maps是一种关联式容器,包含“关键字/值”对 1、插入一个元素: insert()函数: 1)、插入val到pos的后面,然后返回一个指向这个元素的迭代器: iterator insert( iterator pos, const pair &val ); 2)、插入start到end的元素到map中: void insert( input_iterator start, input_iterator end ); 3)、只有在val不存在时插入val。返回值是一个指向被插入元素的迭代器和一个描述是否插入的bool值: pair insert( const pair &val ); 注:插入元素好复杂,有必要花时间研究一下。 2、删除一个元素: erase()函数删除在pos位置的元素,或者删除在start和end之间的元素,或者删除那些值为key的所有元素。 语法: void erase( iterator pos ); void erase( iterator start, iterator end ); size_type erase( const KEY_TYPE &key ) 3、查找一个元素: iterator find( const KEY_TYPE &key ):返回一个迭代器指向键值为key的元素,如果没找到就返回指向map尾部的迭代器。 iterator lower_bound( const KEY_TYPE &key ):返回一个迭代器,指向map中键值>=key的第一个元素。 iterator upper_bound( const KEY_TYPE &key ):返回一个迭代器,指向map中键值>key的第一个元素。 4、iterator begin():返回一个迭代器指向map的第一个元素。 iterator end():返回一个迭代器指向map的尾部。 rbegin() 返回一个指向map尾部的逆向迭代器 rend() 返回一个指向map头部的逆向迭代器 5、size_type count( const KEY_TYPE &key ):返回map中键值等于key的元素的个数。 pair equal_range( const KEY_TYPE &key ):返回两个迭代器——一个指向第一个键值为key的元素,另一个指向最后一个键值为key的元素。 6、get_allocator() 返回map的配置器 (不懂!!!适配器模式倒听说过) key_compare key_comp():返回一个比较key的函数。(不懂) value_compare value_comp():返回一个比较元素value的函数。 7、其他一些常用函数: max_size() 返回可以容纳的最大元素个数 clear() 删除所有元素 empty() 如果map为空则返回true size() 返回map中元素的个数 swap( map &obj ):交换obj和现map中的元素。 本文出自 “Change” 博客