DAY1 STL基础

容器

string vector queue stack set map list

String 字符串

迭代器:string::iterator it=s1.begin()

函数

  1. clear()
  2. length()
  3. push_back() //在最后插入
  4. append() // append(n,’ ') 在最后插入n个‘ ’ append(str2,n,m) 在后面插入str2 中第n个开始插入m个字符 n,m可以省略
  5. find() // find(x,pos) 从第pos个位置开始找x pos可省略
  6. erase()
    //erase(pos,n) 删除从pos开始的n个字符 n省略则只去掉一个 //erase(s.begin()+1,s.end()-1) 从begin+1删到end-1 这里两个需要都是迭代器

Vector 向量

动态数组,内存连续
可以随机访问

构造函数:

  1. vector< int > v1;
  2. vector< string > v2(“1234”);
  3. vecotr< int > v3(5,2); // 22222
  4. vector< int > v4(v3);

常用函数:

  1. push_back()
  2. pop_back()
  3. front()
  4. back()
  5. insert() // insert(iterator,value)
  6. erase()
  7. size()

Queue 队列

先进先出(FIFO)

构造函数queuequ;

常用函数:

  1. push()
  2. pop()
  3. front()
  4. back()
  5. size()
  6. empty() // 清空

Priority_queue 优先队列

他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队
即值越大的在越上边
priority_queue <int,vector<int>,greater<int> > 升序队列
priority_queue <int,vector<int>,less<int> > 降序队列

Deque 双端队列

双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。

Deque 介绍

http://www.cplusplus.com/reference/deque/deque/

Stack 堆栈

先进后出(FILO)

构造函数stackst;

常用函数:

  1. push()
  2. pop()
  3. top()
  4. size()
  5. empty()

Set 集合

元素有序排列、不重复

查询、插入、删除O(logn)

构造函数:set<int> se;

常用函数:

  1. insert()

  2. erase()

  3. find()

  4. size()

  5. clear()

  6. count() // count(value) 数value有几个 (只有0和1)

  7. lower_bound(x):大于等于x的第一个元素位置,不存在返回end() 返回迭代器 
    要知道第几个需要lower_bound(v.begin(), v.end(), 2) - v.begin()

  8. upper_bound(x):大于x的第一个元素位置,不存在返回end()

Multiset

C++语言中,multiset是<set>库中一个非常有用的类型
它可以看成一个序列,插入一个数,删除一个数都能够在O(logn)的时间内完成
而且他能时刻保证序列中的数是有序的,而且序列中可以存在重复的数。

构造函数:multiset<int> h;

Map 字典

key-value键值对,按key有序排列
插入、删除O(logn)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"c stl基础及应用"是一本关于STL(Standard Template Library,标准模板库)的基础和应用方面的书籍。STLC++的一个重要的库,它提供了一套标准模板和算法,用于处理数据结构和容器,例如向量、链表、队列、堆等等。 这本书可以帮助读者全面了解STL基础知识和应用场景。它详细介绍了STL的各种容器、迭代器和算法的使用方法。例如,它会教读者如何创建一个向量,如何在向量中添加和删除元素,如何通过迭代器进行遍历等等。此外,这本书还介绍了STL的常见算法,例如排序、查找和拷贝等。 通过阅读这本书,读者可以学习到如何使用STL来提高程序的效率和可维护性。STL提供了许多高效的数据结构和算法,可以大大简化程序的开发过程。例如,使用STL的排序算法可以让开发者更方便地对数据进行排序操作,节省了编写排序算法的时间和精力。 此外,这本书还提供了一些实际应用的例子,帮助读者将STL的知识应用到实际项目中。这些例子可以帮助读者更好地理解STL的使用,并且在实际编程中能够更灵活地运用STL。 总之,"c stl基础及应用"是一本关于STL基础和应用方面的书籍,它可以帮助读者系统地学习和理解STL的使用方法,并且通过一些实际例子来加强应用能力。如果对STL感兴趣或者需要使用STL来提高编程效率,这本书将是一个很好的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值