首页 > 其他分享 >基础数据结构->set&&map

基础数据结构->set&&map

时间:2024-02-29 22:34:26浏览次数:20  
标签:map set int bound kis && ds

set&&map

BEGIN:惜墨如金


set用法

#include<bits/stdc++.h>
using namespace std;
void the_map()
{
    map<string,int>ds;
    string kis="kis";
    ds[kis]=2;ds["a+a"]=3;ds["b+"]=4;ds["c-"]=5;//这样就可将这个“数组”赋值
    ds[kis];//查询ds[kis]的映射值
    cout<<ds[kis];//输出
    ds.end();
    auto isit=ds.begin();
    isit=ds.find("kis");//查询x在映射表中的地址
    ds.size();
    ds.erase("a+a");//删除下标为a+a的元素
    return;//OK
}
int main()
{
    the_map();
    return 0;
}

map用法

#include<bits/stdc++.h>
using namespace std;
void the_set()
{
    int x=404;
    set<int>ds;
    ds.insert(x);//如果在ds这个set 中无x,则插入;否则啥也不干
    ds.erase(x);//如果ds在这个set 中有x,则删除;否则不干
    auto it=ds.begin();
    ds.erase(it);//删除it指向元素
    ds.end();//last+1地址
    ds.begin();//
    int l1=*ds.lower_bound(x);//查询不小于x最小的数在集合中的地址,
                      //否则返回ds.end()
    int l2=*ds.upper_bound(x);//查询大于x最小的数在集合中的地址,
                      //无则返回ds.end()
    int the_x_number=*ds.upper_bound(x)-*ds.lower_bound(x);
    //配合可以求出set中有多少x
    ds.size();//
    return;//OK
}
int main()
{
    the_set();
    return 0;
}

END 日有所进

标签:map,set,int,bound,kis,&&,ds
From: https://www.cnblogs.com/happy-salted-fish/p/18045712

相关文章

  • 面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种
    写在开头今天有个小伙伴私信诉苦,说面试官上来就让他手撕HashMap的7种遍历方式,最终只写出3种常用的,怀疑面试官是在故意***难。这个问题大家怎么看?反正我个人感觉这肯定不是***难,“手撕遍历方式”算是一个比较简单的考验方式了,而且集合的遍历又是日常开发的必备!至于要一下写出7......
  • JUC系列之(四)ConcurrentHashMap锁分段机制
    ConcurrentHashMap锁分段机制1.关于HashMap和HashTableHashMap:线程不安全HashTable:效率低:操作时锁整个表复合操作会带来安全问题//table.contains()和table.put()分别都是加了锁的,但是像下述复合操作,一个线程判断完之后CPU可能被其他线程抢夺,带来安全问题if(!table.c......
  • 使用safe-area-inset-*来适配iPhoneX的刘海屏及底部横条区域
    之前一直沿用同事写的媒体查询处理这个问题,所有固定在底部展示的按钮栏都要用媒体查询来定义距离底部的距离,着实不太方便,而且媒体查询比较有局限性,不太可能把市面上所有机型都适配一遍。刚好要处理折叠屏适配问题,重构了一个复杂页面的布局,就找到了使用safe-area-inset-*来适配iPh......
  • vue——使用yarn安装electron依赖时报错:RequestError: read ECONNRESET
    参考:1.Electron安装报错RequestError:readECONNRESEThttps://blog.csdn.net/qq_33835370/article/details/123612429?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-1-123612429-blog-122476584.235^v43^control&spm=1......
  • 软件打包工具Inno Setup研究.
    软件打包工具InnoSetup研究安装打包软件https://jrsoftware.org/isdl.php#stable将语言切换成中文语言包下载https://jrsoftware.org/files/istrans/将文件放到C:\ProgramFiles(x86)\InnoSetup6参考资料:【软件打包】InnoSetup--修改安装过程的界面显示语言htt......
  • java 替换Map中key的值
    importjava.util.*;importjava.util.stream.Collectors;publicclassMapKeyReplacement{publicstaticvoidmain(String[]args){//假设我们有如下的List<Map<String,String>>List<Map<String,String>>list=Arrays.asL......
  • Java HashMap 详解
    HashMapHashMap继承自AbstractMap,实现了Map接口,基于哈希表实现,元素以键值对的方式存储,允许键和值为null。因为key不允许重复,因此只能有一个键为null。HashMap不能保证放入元素的顺序,它是无序的,和放入的顺序并不相同。HashMap是线程不安全的。1.哈希表哈希表基于数......
  • ConcurrentHashMap 核心源码解析
    废话不多说,直接看代码类名与HashMap很相似,数组、链表结构几乎相同,都实现了Map接口,继承了AbstractMap抽象类,大多数的方法也都是相同的publicclassConcurrentHashMap<K,V>extendsAbstractMap<K,V>implementsConcurrentMap<K,V>,Serializable核心方法Node方法......
  • 「java.util.concurrent并发包」之 Semaphore
    一Semaphore是什么Semaphore也叫信号量,在JDK1.5被引入,可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。Semaphore内部维护了一组虚拟的许可,许可的数量可以通过构造函数的参数指定。访问特定资源前,必须使用acquire方法获得许可,如果许可数量为0......
  • 【STL和泛型编程】3. set、map分析(及typename起源)
    前置知识:红黑树原理 【数据结构】7.平衡搜索树(AVL树和红黑树),红黑树的平衡性有利于search和insert红黑树的迭代器begin()左侧end()右侧迭代顺序56781011121315不能使用迭代器修改Key的值,例如将6改成50会破坏红黑树的性质1.RB-tree在g++编译......