![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
YogLn
从入门到放弃的蒟蒻
展开
-
C++ STL--queue 的使用方法
queuequeue 模板类的定义在头文件中。与stack 模板类很相似,queue 模板类也需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。定义queue 对象的示例代码如下:queue q1;queue q2;queue 的基本操作有:入队,如例:q.push(x); 将x 接到队列的末端。出队,如例:q.pop()...原创 2019-07-14 09:14:46 · 166 阅读 · 0 评论 -
C++ string字符串修改和替换方法详解
字符串内容的变化包括修改和替换两种。本节将分别讲解字符串内容的修改和字符串内容的替换。字符串内容的修改可以通过使用多个函数修改字符串的值。例如 assign(),operator=,erase(),交换(swap),插入(insert)等。另外,还可通过 append() 函数添加字符。下面逐一介绍各成员函数的使用方法。assign()函数使用 assign() 函数可以直接给字符串赋值...原创 2019-07-07 12:08:13 · 23476 阅读 · 2 评论 -
字符串截取函数substr()
substr(参数1,参数2[,参数3]);该系统函数返回被截后的子字符串,它接受2个必选参数,参数1为要截取的字符串,参数2为截取的开始位置,参数3可选,表示截取长度。例子:substr("abcdef",1);//返回"bcdef",从索引1处开始截取,如果没有指定截取长度,默认截取后面的所有字符。substr("abcdef",1,3);//返回"bcd",从索引1处开始截取3个字...原创 2019-08-26 17:18:14 · 2333 阅读 · 0 评论 -
next_permutation(a,a+n)
早就听说了了next_permutation 产生全排列的强大,一直到昨晚遇到一个对字符串产生全排列的问题才知道这个函数的强大,我们队是按照dfs去搞全排列,然后在进行字符串的匹配,结果写的很长,过程中还各种debug。。。于是决定今天学一下…next_permutation函数组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end),和...原创 2019-08-23 10:46:29 · 33364 阅读 · 8 评论 -
C++ memcpy()函数用法
函数原型void memcpy(voiddest, const void *src, size_t n);功能由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。头文件#include<string.h>返回值函数返回一个指向dest的指针。说明1.source和destin所指内存区域不能重叠,函数返回指向destin的指针...原创 2019-08-23 15:02:25 · 804 阅读 · 0 评论 -
C++中set用法详解
1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操作。vector封装数组,list封装了链表,map和set封装了二叉树等,在封装这些数据结构的时候,STL按照程序员的使用习惯,以成员函数方式提供的常用操作,如:插入、排序、删除、查找等。让用户在...转载 2019-08-15 20:26:21 · 897 阅读 · 0 评论 -
C++中map的详细用法
map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有...转载 2019-07-15 10:46:05 · 2464 阅读 · 0 评论 -
C++标准库vector类型的使用和操作总结
vector是一种类型对象的集合,它是一种顺序容器,容器中的所有对象必须都是同一种类型。想了解顺序容器的更多内容:C++顺序容器知识总结。vector的对象是可以动态生长的,这说明它在初始化时可以不用指定大小,而是再使用时根据元素所需的空间动态增长。C++中还有一种常见的类型string,它和vector有很多相似之处,具体可以看《C++标准库string类型的使用和操作总结》这篇博文。下面简单介...原创 2019-07-14 10:15:34 · 206 阅读 · 0 评论 -
C++迭代器的使用和操作总结
正文迭代器是一种检查容器内元素并遍历元素的数据类型。C++更趋向于使用迭代器而不是下标操作,因为标准库为每一种标准容器(如vector)定义了一种迭代器类型,而只用少数容器(如vector)支持下标操作访问容器元素。一.定义和初始化 每种容器都定义了自己的迭代器类型,如vector:vector<int>::iterator iter; //定义一个名为iter的变...原创 2019-07-14 10:08:53 · 220 阅读 · 0 评论 -
erase()函数
前面的文章中提到过如何向容器中添加元素,这里介绍一个如何删除容器中元素的函数,包括顺序容器和关联容器。就是这个erase函数,基本用法如下:c.erase( p)------------------------------从c中删除迭代器p指定的元素,p必须指向c中的一个真实元素,不能等于c.end()c.erase(b,e)----------------------------从c中删除...原创 2019-08-28 09:59:41 · 51029 阅读 · 1 评论