随笔分类 - stl
stl
摘要:string find() (详细见上面string) 从string开始谈find() 查找是在处理数据中最重要的一种操作方式之一。 string中find()的应用( rfind() 类似,只是从反向查找,就是从string.length()-1的下标开始反向查找) 原型如下: (a)size_
阅读全文
摘要:pop_back() 删除数组尾端元素 push_back() 在数组尾插入一个元素 emplace_back() 在数组尾插入一个元素 要注意的是: 1、pop_back()函数并没有真的把原来数组内存里面的数值给删掉,而是仅仅取消了数组最后一个元素的地址映射。 来自 <https://blog.
阅读全文
摘要://inserting an element vector::insert(iterator position, value); 例如:a.insert(a.begin, 15); //inserting multiple elements vector::insert(iterator posit
阅读全文
摘要:再次提醒 vector 一定要给了空间后才能用下标赋值 (具体原因见:reverse和resize的区别 reverse和resize的区别) 给空间例子: vector<vector<int> > matrix(n, vector<int>(n, 0));//分配空间方法1 matrix[uppe
阅读全文
摘要:不应该死记硬背 首先应该了解string内部的实现原理,这样string和char*的转换的很简单了 String-char*-const char*之间的转换 string内部有个const get_c_str()函数,就是为了获取string内部的char成员,然后就可以转为const char
阅读全文
摘要:概述 STL中提供了一个sort()函数,用于排序。它的实现虽然是基于我们熟悉的quick sort, insertion sort, heap sort,但是内部却庞大复杂。sort()函数只能接受RandomAccessIterators,list slist都不能使用。 STL中的sort()
阅读全文
摘要:自定义排序方法有 1. 重载<操作符 2. 定义cmp比较函数,重载()操作符 但是如果是存的指针元素,然后还要有序的话,只能使用第二种排序方法。 https://blog.csdn.net/weixin_44307065/article/details/109263697
阅读全文
摘要:既然是队列那么先要包含头文件#include <queue>, 他和queue不同的就在于我们可以自定义其中数据的优先级, 让优先级高的排在队列前面,优先出队 优先队列具有队列的所有特性,包括基本操作,只是在这基础上添加了内部的一个排序,它本质是一个堆实现的 和队列基本操作相同: top 访问队头元
阅读全文
摘要:可以对比优先队列学习 排序 set 支持自动排序,默认是由小到大排,和很多其他排序数据结构一样,也可以手写排序,就是重载小于号; 如果是单纯的要由大到小排也可以:set< int,greater<int> >se;//由大到小排序 如果有多个关键字,那么可以手写结构体,重载小于号; //x为第一关键
阅读全文
摘要:2022年8月12日22:11:54 注意实现仿函数的时候最后面要加const 仿函数概念 1. 尽管函数指针被广泛用于实现函数回调,但C++还提供了一个重要的实现回调函数的方法,那就是函数对象。 2. functor,翻译成函数对象,伪函数,它是是重载了"()"操作符的普通类对象。从语法上讲,它与
阅读全文
摘要:reserve是容器预留空间,但并不真正创建元素对象,在创建对象之前,不能引用容器内的元素,因此当加入新的元素时,必须要用push_back()/insert()函数。 resize是改变容器的大小,并且创建对象,因此,调用这个函数之后,就可以引用容器内的对象了,因此当加入新的元素时,用operat
阅读全文
摘要:序列式容器vector,deque 使用erase删除迭代器后,后面的元素的迭代器会失效。但是erase会返回下一个有效的迭代器。 int main() { vector<int> v{ 1,2,3,4 }; vector<int>::iterator it = find(v.begin(), v.
阅读全文
摘要:需要包含头文件 #include <ctype.h> isdigit( ) 函数可以用来判断字符是否为数字 功能:当判断的字符是数字时,函数返回1~9的非零值,当判断的字符不是数字时,函数返回 0 isalpha() 函数用于判断一个字符是否为字母,位于头文件 cctype 中。 https://b
阅读全文
摘要:stoi() 和atoi() 函数将字符串转化为int型 区别是stoi的形参是const string*,而atoi的形参是const char*。c_str()的作用是将const string*转化为const char* 来自 <https://blog.csdn.net/Sarah_212
阅读全文
摘要:来自 https://blog.csdn.net/qq_33210042/article/details/119390196 C++ string字符串的比较是否相等 可以使用compare 也可以使用"==" 1 使用比较运算符 == > #include <iostream> #include
阅读全文
摘要:c++中string的用法 具体见:string 截取、替换、查找字符串 简介 或者: <https://blog.csdn.net/qq_30534935/article/details/82227364> https://blog.csdn.net/weixin_44503157/article
阅读全文
摘要:vector: empty() 如果队列空则返回true pop_back() 删除数组尾端元素 push_back() 在数组尾插入一个元素 size() 返回队列中元素个数 front() 返回队列中的第一个元素 back() 返回队列中最后一个元素 v.insert() 插入元素 emplac
阅读全文