色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

什么是set?

汽車電子技術 ? 來源:C語言Plus ? 作者:Maye426 ? 2023-02-27 15:42 ? 次閱讀

一、什么是 set?

set 容器,又稱集合容器,即該容器的底層是以紅黑樹變體實現(xiàn)的,是典型的關聯(lián)式容器。這意味著,set 容器中的元素可以分散存儲在內(nèi)存空間里,而不是必須存儲在一整塊連續(xù)的內(nèi)存空間中。跟任意其它類型容器一樣,它能夠存放各種類型的對象。

二、容器特性

1.存儲結(jié)構

set是由多個節(jié)點(二叉樹中的紅黑樹變體)組成的。

2.集合

set 容器不能在指定位置插入,意味著不支持at(pos)和[]操作。在set中查找元素,效率是非常高的

multiset與set的區(qū)別:set中的元素值唯一,每個元素只能出現(xiàn)一次;而multiset中同一元素可以出現(xiàn)多次。

3.雙向迭代器

不支持隨機訪問迭代器,只能從容器中第一個元素或最后一個元素開始遍歷容器,直到找到該位置。

三、基本函數(shù)實現(xiàn)

1,構造函數(shù)

  • set();創(chuàng)建一個空set
  • set(const set&);復制構造函數(shù)
  • set(begin,end);復制[begin,end)區(qū)間內(nèi)的元素,到另一個set中

2.set插入

  • iterator insert(const T& x); 插入元素

3.set刪除

  • iterator erase(iterator it);刪除集合中迭代器指向元素
  • iterator erase(iterator first,iterator last);刪除集合中[first,last)中元素
  • size_type erase(const key_type& elem); 刪除指定的元素
  • void clear();清空集合中所有元素

4.查找函數(shù)

  • iterator set.find(elem); //查找elem元素,返回指向elem元素的迭代器。

  • size_type set.count(elem); //返回容器中值為elem的元素個數(shù)。對set來說,要么是0,要么是1。對multiset來說,值可能大于1。

  • iterator set.lower_bound(elem); //返回第一個>=elem元素的迭代器。

  • iterator set.upper_bound(elem); // 返回第一個>elem元素的迭代器。

  • reverse_iterator rbegin();反向迭代器,指向最后一個元素

  • pair set.equal_range(elem); //返回一對迭代器,這兩個迭代器分別用于指向set中大于指定元素的第一個元素,以及等于或大于指定元素的第一個元素。

    equal_range返回值pair是什么?

    • pair.second是pair里面的第二個值,是T2類型。
    • pair.first是pair里面的第一個值,是T1類型。
    • pair存放的兩個值的類型,可以不一樣,如T1為int,T2為float。T1,T2也可以是自定義類型。
    • pair譯為對組,實際上就是一個結(jié)構體類型,有兩個成員。

5.判斷函數(shù)

  • bool empty() const;判斷容器中是否有元素,若無元素,則返回 true;反之,返回 false。

6.大小函數(shù)

  • int size() const;返回集合中元素的個數(shù)
  • int max_size() const;返回最大可允許的set元素數(shù)量值

7.其他函數(shù)

  • void swap(set&);交換兩個同類型集合的數(shù)據(jù)

四、基本用法

#include
#include
using namespace std;
int main()
{
  set<int> s;
  for (int i = 0; i < 10; i++)
  {
    s.insert(rand()%20);
  }
  for (set<int>::iterator it = s.begin(); it != s.end(); it++)
  {
    cout << *it << " ";
  }
  cout <<"\\nset size():"<< s.size() << endl;
  //輸出:0 1 2 4 7 9 14 18  為什么只輸出8個元素呢?
  //因為set只能存在唯一的元素,重復的會被丟掉
  //思考:為什么set里面的元素是有序的呢?
  //因為set是關聯(lián)式容器,會默認按照升序進行排列




  //如果找到,返回指向的迭代器,沒有找到返回end()迭代器,所以再輸出之前
  //需要判斷是否找到
  set<int>::iterator it1 = s.find(6);
  if (it1 != s.end())
  {
    cout << *it1 << endl;
  }
  //如果set中有等于4的元素,則返回指向4的迭代器,如果沒有返回第一個
  //大于4的元素的迭代器,沒有找到返回end()迭代器
  it1 = s.lower_bound(4);
  if (it1 != s.end())
  {
    cout << *it1 << endl;
  }
  //如果set中有大于4的元素,返回第一個大于4的元素的迭代器,沒有找
  //到返回end()迭代器
  it1 = s.upper_bound(4);
  if (it1 != s.end())
  {
    cout << *it1 << endl;
  }
  cout <<"------------------我是 C語言Plus 華麗分割線"<
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)存
    +關注

    關注

    8

    文章

    3100

    瀏覽量

    74853
  • 容器
    +關注

    關注

    0

    文章

    503

    瀏覽量

    22312
  • SET
    SET
    +關注

    關注

    0

    文章

    17

    瀏覽量

    8085
收藏 0人收藏

    評論

    相關推薦

    C++之set/multiset容器

    set/multiset容器又稱為關聯(lián)式容器,底層是通過二叉樹實現(xiàn)。set/multiset容器在插入數(shù)據(jù)時就會做排序處理,默認是從小到大的順序。其中set容器允許插入重復數(shù)據(jù),multiset則不做此限制。
    的頭像 發(fā)表于 07-17 09:43 ?714次閱讀
    C++之<b class='flag-5'>set</b>/multiset容器

    不同創(chuàng)建線程安全Set的方式

    方法。 使用ConcurrentHashMap工廠方法構造線程安全的HashSet 首先, 我們來看看_ConcurrentHashMap_暴露出來的靜態(tài)方法 -- newKeySet() 。此方法返回一個Set的實例,等同于實現(xiàn)了
    的頭像 發(fā)表于 09-25 14:20 ?818次閱讀

    MP3set1_48

    MP3set1_48ite
    發(fā)表于 04-04 23:26 ?34次下載

    RoHS認證證書樣本-SET證書

    RoHS認證證書樣本-SET證書
    發(fā)表于 08-12 11:48 ?49次下載
    RoHS認證證書樣本-<b class='flag-5'>SET</b>證書

    RoHS認證中文報告樣本-SET報告

    RoHS認證中文報告樣本-SET報告
    發(fā)表于 08-12 11:49 ?74次下載
    RoHS認證中文報告樣本-<b class='flag-5'>SET</b>報告

    金融網(wǎng)絡中的SET 技術

    SET 協(xié)議為網(wǎng)上交易提供了安全技術,使參加交易的各方對網(wǎng)上交易增強了信心,因而大大推動了金融網(wǎng)絡的發(fā)展。本文在論述SET 技術原理的同時,還給出了應用案例。
    發(fā)表于 09-25 16:22 ?10次下載

    SET協(xié)議的一種改進方案

    SET協(xié)議在電子商務交易中的應用越來越廣泛,本文通過對SET協(xié)議的分析,發(fā)現(xiàn)存在的一些缺陷,并在此基礎上提出了一個改進方案,增強了該協(xié)議非否認性、公平性、隱私性等方面的性能,
    發(fā)表于 03-02 11:45 ?7次下載

    雙柵極SET與MOSFET的混合特性

    用電阻噪聲確定一個低噪聲放大器的特性,由SET 的周期振蕩特性和MOSFET 的閾值電壓特性可構成雙柵極SET/MOSFET 通用方波電路[8],它是構成邏輯門電路的基本單元
    發(fā)表于 09-30 11:08 ?1790次閱讀
    雙柵極<b class='flag-5'>SET</b>與MOSFET的混合特性

    ADS-ARM_set相關資料

    ADS-ARM_set相關資料,有需要的下來看看
    發(fā)表于 08-16 18:54 ?0次下載

    IAR-ARM_set相關資料

    IAR-ARM_set相關資料,有需要的下來看看
    發(fā)表于 08-16 18:54 ?6次下載

    set_max_delay被覆蓋的解決辦法

    XDC描述的時序約束是有優(yōu)先級的,尤其是涉及到時序例外的約束,如set_clock_groups、set_false_path、set_max_delay和set_multicycle
    的頭像 發(fā)表于 09-07 10:53 ?1w次閱讀
    <b class='flag-5'>set</b>_max_delay被覆蓋的解決辦法

    vivado多時鐘周期約束set_multicycle_path使用

    Vivado下set_multicycle_path的使用說明 vivado下多周期路徑約束(set_multicycle_path)的使用,set_multicycle_path一般...
    發(fā)表于 12-20 19:12 ?1次下載
    vivado多時鐘周期約束<b class='flag-5'>set</b>_multicycle_path使用

    python之集合set的基本步驟分享

    區(qū)別就是remove的元素在set當中沒有的話會報錯,而discard不會
    的頭像 發(fā)表于 08-23 10:31 ?2303次閱讀

    逆變器-XC7SET04

    逆變器-XC7SET04
    發(fā)表于 02-14 18:39 ?0次下載
    逆變器-XC7<b class='flag-5'>SET</b>04

    python中的set類型

    Python中的set類型是一種無序、可變的集合數(shù)據(jù)類型,它的主要特點是不允許重復元素的存在。本文將詳盡、詳實、細致地介紹set類型的使用場景、常用操作以及與其他類型的比較等方面,以幫助讀者全面了解
    的頭像 發(fā)表于 11-21 16:25 ?1132次閱讀

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品
    主站蜘蛛池模板: 亚洲 日韩 欧美 国产专区 | 99视频精品在线 | 恋夜秀场1234手机视频在线观看 | 久久热r在线视频精品 | 国产精品无码视频一区二区 | 成人影片大全 | 视频在线观看高清免费看 | 国产成人免费高清视频 | 快穿之诱受双性被灌满h | 人人妻免费线 | 亚洲精品蜜夜内射 | 好吊妞在线成人免费 | 中文字幕 人妻熟女 | 成人影院久久久久久影院 | 男人桶女人j的视频在线观看 | 一区视频免费观看 | 在线精品国精品国产不卡 | 亚洲美女视频高清在线看 | 女教师苍井空体肉女教师S242 | 97精品国产亚洲AV高清 | 国产综合18久久久久久软件 | 日本经典片免费看 | 精品国产自在自线官方 | 亚洲 欧美 另类 中文 在线 | 成人国产在线不卡视频 | 十分钟免费观看高清视频大全 | 亚洲AV无码国产精品午夜久久 | 欧美亚洲日韩欧洲不卡 | 丰满老熟好大bbbxxx | 男人的天堂MV在线视频免费观看 | 97在线视频免费人妻 | 亚洲人成色777777老人头 | 成人免费看片45分钟 | 亚洲免费成人 | 在线观看成人3d动漫入口 | 国产ts调教 | 一本道无码字幕在线看 | 国产最新进精品视频 | 女人被弄到高潮叫床免 | 9420高清完整版在线电影免费观看 | 人人超碰97caoporen国产 |