栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++STL

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++STL

vector,变长数组,倍增的思想
   size() 返回元素个数
   empty 返回是否为空
   clear() 清空
   front(),back()第一个数,最后一个数
   push_back(),pop_back()
   begin(),end()迭代器 起始元素位置,末尾元素的后一个位置
   []支持随机寻址
   支持比较运算,按照字典序

pair  (底层为结构体)
   first,第一个元素
   second,第二个元素
   支持比较运算,以first为第一关键字,以second为第二关键字(字典序)

string,字符串,
   substr()返回某个子串  起始,个数 参数2省略则返回从参数1开始的整个子串
   c_str()返回str对应字符串的头指针
   size()/length() 返回字符串长度
   empty()
   clear()

queue 队列 queue q;
  清空 q = queue();
  size()
  empty() 无clear()
  push() 向队尾插入一个元素
  front() 返回队头元素
  back() 返回队尾元素
  pop() 弹出队头元素

priority_queue优先队列, 默认是大根堆
   无clear()
   push() 插入一个元素
   top() 返回堆顶元素
   pop() 弹出堆顶元素
   若要小根堆 则push(-x),或这样定义:
   priority_queue,greater> heap;

stack 栈 
   size()
   empty()
   push() 向栈顶加入一个元素
   top() 返回栈顶元素
   pop() 弹出栈顶元素

deque 双端队列 队头对尾均可插入删除
   size()
   empty()
   clear()
   front()
   back()
   push_back()/pop_back()
   push_front()/pop_front()
   begin()/end()
   []

set, map, multiset, multimap 基于平衡二叉树(红黑树),动态维护有序序列
  size()
  empty()
  clear()
  begin()/end() ++, -- 返回前驱后继 O(logn)
     set/multiset
         insert()
		 find() 查找一个数
		 count()返回某一个数的个数
		 erase()
		    (1) 输入是一个数,删除所有x  O(k + logn)
		    (2) 输入是一个迭代器,删除这个迭代器
		 lower_bound()/upper_bound()
		    lower_bound(x) 返回大于等于x的最小的数的迭代器
		    upper_bound(x) 返回大于x的最大的数的迭代器
    map/multimap
	    insert() 插入的数是一个pair
		erase()  输入的参数是pair或者迭代器
		find()
		[]	时间复杂度O(logn)    
		lower_bound()/upper_bound()

unordered_set, unordered_map, unordered_multiset, unordered_multimap 基于哈希表
    与上面类似,增删改查的时间复杂度是O(1)
	不支持lower_bound()/upper_bound()与迭代器 ++ --;

bitset 压位
    10000*10000 bool矩阵 10^8 100MB 但有空间限制 用bitset则12MB
	bitset<10000> s;
	~, &, |, ^
	>>, <<
	==, != 
	[]
	count()返回有多少个1
	any() 判断是否至少有一个1
	none() 判断是全为0

	set(), 把所有位置成1;
	set(k, v)将第k位变成v
	reset() 把所有位变成0
	flip() 把所有位取反,等价于~
	flip(k) 把第k位取反

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号