ProDeveloperTutorial.com

教程和编程解决方案
菜单
  • Shell脚本
  • 系统设计
  • Linux系统编程
  • 4g LTE
  • 编码问题
  • C
  • C ++
  • DSA
  • GIT

CPP STL第7章:std :: multiset及其操作。

前开发者教程 2020年3月28日
在本章中,我们将学习:
1.多集介绍。
2.多集声明。
4.将std :: multiset传递给函数
5. multiset成员函数可以迭代元素。
6.多成员功能检查容量。
7. multiset成员函数用来修改元素。
8. multiset成员函数执行元素的操作。

1.多集介绍。

多重集类似于存储重复元素的集合。
这些元素以升序或降序存储。
集合中元素的值不能在容器中修改一次,它们始终是恒定的。
您只能插入或从容器中取出。
在设置中,元素的值标识它(该值本身是T类型的键),
它使用红黑树实现
以下是用于设置的头文件:

#include <set>

2.多集声明。

   multiset<int> mymultiset = {5, 4, 3, 2, 1, 1, 2};

4.将std :: multiset传递给函数

您可以通过两种方式传递多重集:
1.传递价值
2.通过引用
1.传递价值

void func(multiset<int> mymultiset) 
{ 
   mymultiset.insert(30); 
} 
   
int main() 
{ 
    multiset<int> mymultiset = {5, 4, 3, 2, 1, 1, 2};

    func(mymultiset); 
   
    // as we are passing by value, the list will remain unchanged.
  std::cout << "mymultiset contains:"<<endl;
  for (std::multiset<int>::iterator it=mymultiset.begin(); it!=mymultiset.end(); ++it)
    std::cout << ' ' << *it;

   
    return 0; 
} 
2.通过引用

void func(multiset<int> &mymultiset) 
{ 
   mymultiset.insert(30); 
} 
   
int main() 
{ 
    multiset<int> mymultiset = {5, 4, 3, 2, 1, 1, 2};

    func(mymultiset); 
   
    // as we are passing by value, the list will remain unchanged.
  std::cout << "mymultiset contains:"<<endl;
  for (std::multiset<int>::iterator it=mymultiset.begin(); it!=mymultiset.end(); ++it)
    std::cout << ' ' << *it;

   
    return 0; 
}

5. multiset成员函数可以迭代元素。

开始 :它将使迭代器返回到开始
结束 :它将返回迭代器结束
初学者 :它将返回反向迭代器返回到反向开始
撕裂 :它将反向迭代器返回到反向结束
开始 :它将const_iterator返回到开头
结束 :它将返回const_iterator结束

#include <iostream>
#include <set>
//for more tutorials 上  C, C ++, STL, DS visit www.ProDeveloperTutorial.com
using namespace std;

int main() 
{ 
    multiset<int> mymultiset = {5, 4, 3, 2, 1, 1, 2};
    
    std::cout << "mymultiset contains using .begin():"<<endl;
    for (std::multiset<int>::iterator it=mymultiset.begin(); it!=mymultiset.end(); ++it)
    std::cout << ' ' << *it;

    std::multiset<int>::reverse_iterator rit;
    std::cout << "\nmyset contains using .rbegin:"<<endl;
    for (rit=mymultiset.rbegin(); rit != mymultiset.rend(); ++rit)
    std::cout << ' ' << *rit;

    std::cout << "\nmyset contains using .cbegin:"<<endl;
    for (auto it=mymultiset.cbegin(); it != mymultiset.cend(); ++it)
    std::cout << ' ' << *it;
    
    
    return 0; 
}
输出:

mymultiset contains using .begin():
 1 1 2 2 3 4 5
myset contains using .rbegin:
 5 4 3 2 2 1 1
myset contains using .cbegin:
 1 1 2 2 3 4 5

6.多成员功能检查容量。

空的 :用于检查容器是否为空
尺寸 :用于返回容器大小
max_size :用于返回最大大小

7. multiset成员函数用来修改元素。

插入 :用于插入元素
抹去 :用于擦除元素
交换 :用于交换内容
明确 :用于清除内容

8. multiset成员函数执行元素的操作。

找 :获取元素的迭代器
计数 :计算具有特定值的元素
lower_bound :将迭代器返回到下限
upper_bound :将迭代器返回上限

该网站上可用的教程列表:

C编程20+章C ++编程80+章
100多个编码问题数据结构和算法85+章
系统设计20+章Shell脚本编写12章
4g LTE 60+章节最常见的编码问题
5G NR 50+章Linux系统编程20+章
分享
电子邮件
鸣叫
领英
Reddit
绊倒
Pinterest的
上一篇文章
下一篇

关于作者

前开发者教程

每天我们都会讨论竞争性编程问题,请加入我们的网站:   电报频道

ProDeveloperTutorial.com

教程和编程解决方案
版权© 2020 ProDeveloperTutorial.com
从以下课程获得热门课程: 教育性的
<i class="iDNe5Fo"><colgroup id="HzWUqpI"><param id="YopDU19"></param></colgroup></i>

      1. <var id="wITiXGp"></var>

        <i class="Wjor157"><span id="uUfEURo" class="urQaJmz"></span></i>