前言 最开始我们学习c语言的时候,我们发现刷题或者写代码都是比较麻烦的,如果说用c语言造一辆车,那么我需要用c语言先把轮子造好--各个零件,当我们造好之后再组装。那么c++则是造好了轮子,只需要我们组装就好了。这里的的STL里有各个组件,我只要熟悉的掌握,使用即可。网上有句话说:“不懂STL,不要说你会C++”。STL是C++中的优秀作品,有了它的陪伴,许多底层的数据结构以及算法都不需要自己重新造轮子,站在前人的肩膀上,健步如飞的快速开发。所以对于学习c++而言,学好STL是很有必要的。STL统称为:“StandardTemplateLibrary标准模板库”,STL提供了有六大组件,包
栈(Stack)概念:就像一个盒子一样,进去想出来就得等上面的先出去,也就是“先进后出”。往往栈的功能有上面四种,下面我们手写一个栈来实现这四种功能来更好的理解一下。模拟栈的实现:#include#includeusingnamespacestd;constintN=100010;intstk[N],tt;//tt为栈顶指针,初始化为0intmain(){ intn;//要进行几次操作 cin>>n; stringop;//要进行的操作 while(n--){ cin>>op; if(op=="push"){ intx;//需要入栈的数 cin>>x; stk[++tt]=x
栈(Stack)概念:就像一个盒子一样,进去想出来就得等上面的先出去,也就是“先进后出”。往往栈的功能有上面四种,下面我们手写一个栈来实现这四种功能来更好的理解一下。模拟栈的实现:#include#includeusingnamespacestd;constintN=100010;intstk[N],tt;//tt为栈顶指针,初始化为0intmain(){ intn;//要进行几次操作 cin>>n; stringop;//要进行的操作 while(n--){ cin>>op; if(op=="push"){ intx;//需要入栈的数 cin>>x; stk[++tt]=x
C++STL教程在前面的章节中,我们已经学习了C++模板的概念。C++STL(标准模板库)是一套功能强大的C++模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++标准模板库的核心包括以下三个组件:组件描述容器(Containers)容器是用来管理某一类对象的集合。C++提供了各种不同类型的容器,比如deque、list、vector、map等。算法(Algorithms)算法作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。迭代器(iterators)迭代器用于遍历对象集合的元素。这
C++STL教程在前面的章节中,我们已经学习了C++模板的概念。C++STL(标准模板库)是一套功能强大的C++模板类,提供了通用的模板类和函数,这些模板类和函数可以实现多种流行和常用的算法和数据结构,如向量、链表、队列、栈。C++标准模板库的核心包括以下三个组件:组件描述容器(Containers)容器是用来管理某一类对象的集合。C++提供了各种不同类型的容器,比如deque、list、vector、map等。算法(Algorithms)算法作用于容器。它们提供了执行各种操作的方式,包括对容器内容执行初始化、排序、搜索和转换等操作。迭代器(iterators)迭代器用于遍历对象集合的元素。这
引言:北京时间:2023/3/18/21:47,周末,不摆烂,但是欠钱终于还是遭报应了,导致坐牢7小时(上午3.5,下午3.5),难受,充分意识到行哥是那么的和蔼可亲,励志下次上蛋哥的课可以还清债务(所以下一篇,乃至更多篇博客,都将是关于系统编程的知识);周末时光:昨天12点睡觉,今天7点40起床,然后到9点上课,12:50追一集动漫,1点整睡觉,睡到2点25分起床上第二节课,到6点,下楼丢垃圾,然后洗澡,到7点,开始看最后一节C++的录屏,现在写博客(吃饭都是在上课的时候完成),无论是上午还是下午,牢底坐穿,但是不怕,小强有韧性,记录周末第一天,还行,不怎么摆烂,但是感觉自己似乎也没学什么东
引言:北京时间:2023/3/18/21:47,周末,不摆烂,但是欠钱终于还是遭报应了,导致坐牢7小时(上午3.5,下午3.5),难受,充分意识到行哥是那么的和蔼可亲,励志下次上蛋哥的课可以还清债务(所以下一篇,乃至更多篇博客,都将是关于系统编程的知识);周末时光:昨天12点睡觉,今天7点40起床,然后到9点上课,12:50追一集动漫,1点整睡觉,睡到2点25分起床上第二节课,到6点,下楼丢垃圾,然后洗澡,到7点,开始看最后一节C++的录屏,现在写博客(吃饭都是在上课的时候完成),无论是上午还是下午,牢底坐穿,但是不怕,小强有韧性,记录周末第一天,还行,不怎么摆烂,但是感觉自己似乎也没学什么东
文章目录前言一.string的模拟实现总结 前言上一篇文章我们详细介绍了STL中的string的一些常用的接口,这一篇文章我们将从底层实现string类,当然我们只是实现一些重要的,经常使用的接口,并且不是完全按照STL中的string去走的。 一、string的模拟实现首先我们为了防止我们写的string类与库中的string产生命名冲突,所以我们将要实现的string写在我们自己的命名空间中,如下图:首先我们创建需要的变量,众所周知string是一个字符串类,所以底层我们就用char*str搞定,然后还需要capacity来查看字符串的容量,size就是字符串的长度了,如下图所示: 接
文章目录前言一.string的模拟实现总结 前言上一篇文章我们详细介绍了STL中的string的一些常用的接口,这一篇文章我们将从底层实现string类,当然我们只是实现一些重要的,经常使用的接口,并且不是完全按照STL中的string去走的。 一、string的模拟实现首先我们为了防止我们写的string类与库中的string产生命名冲突,所以我们将要实现的string写在我们自己的命名空间中,如下图:首先我们创建需要的变量,众所周知string是一个字符串类,所以底层我们就用char*str搞定,然后还需要capacity来查看字符串的容量,size就是字符串的长度了,如下图所示: 接
引言:北京时间:2023/3/14/20:09,晚上没课,开心,但是等一下要去练习如何晨跑,并且明天要起床晨跑,不开心,今天博客更新啦!并且明天是周三(课少),所以明天这篇博客就可以发啦!开心,终于又实现了日更博客了,爽!怀念以前在家的时间,每天都可以更新博客,然后CSDN平台会一直帮我推送文章,导致那时候,我的文章都是领域榜的前三名,可惜现在更新没有那么积极了,它居然不给我推了,想哭,不开心;OK,搞笑完毕,开始学习,今天我们就一起学习一下STL容器中的栈和队列的使用(题目)和STL中栈和队列的自我实现,以这些内容为目标,冲冲冲!不过前提是需要把list给收尾一下,哈哈哈!收尾list上篇博