
STL学习
CS生
本科就读于长春理工大学,准备写博客记录一下零散知识点
展开
-
线性数据结构(数组/链表/栈/队列)优缺点、特点及其应用场景
一.数组、字符串为什么把字符串和数组放在一起呢?因为很多时候要对字符串给个字符进行某种操作,遍历字符串并不方便,常把字符串转成字符数组。1.1优点构建一个数组非常简单可以在O(1)的时间内根据数组的下标查询某个元素1.2缺点构建时必须分配一段连续的空间查询某个元素是否存在时需要遍历整个数组,耗费O(n)的时间,n为元素的个数删除和增添某个元素时同样需要耗费O(n)的时间1...原创 2020-04-02 20:31:40 · 8934 阅读 · 0 评论 -
常用进制转换方法(万能模板,bitset,strtol,stoi,itoa,std::dec, std::hex, std::oct)
进制转换进制转换以十进制为桥梁。因为十进制转换为X进制采用短除法,X进制转换为十进制根据权值进行位次幂求和计算,这两种转换时有明确的方法,所以十进制作为桥梁可以解决X进制向Y进制的转换。虽然我们可以使用编程语言自己实现进制转换,但过于麻烦也容易出错,不妨借助STL的库函数来帮助我们。方法一:bitset...原创 2020-04-01 11:40:11 · 4740 阅读 · 0 评论 -
处理浮点数格式的方法(保留小数,科学计数法等)
保留有效数字使用中的setprecision()方法头文件是IO操作库,manip是manipulator的缩写,顾名思义该库函数可以帮助控制输入输出流。setprecision()可以控制精度,保留有效数字位数。能保留的最大精度是std::numeric_limits<long double>::digits10 + 1cout<< std::setprecis...原创 2020-02-24 20:57:46 · 1066 阅读 · 0 评论 -
容器vector使用STL去重(unique/set)
std::uniqueunique()函数定义在头文件中,使用前提是序列要有序,通过移动参数范围内的元素覆盖要擦除的重复元素实现“去重”。剩余元素的相对位置不变,并且容器的物理大小未更改。eg:初试序列:1,2,3,1,2,3,3,4,5,4,5,6,7新序列 :1,2,3,4,5,6,7,4,5,4,5,6,7所以要实现真正去重通常先调用unique,再调用容器的erase方法。...原创 2020-02-23 19:24:19 · 2082 阅读 · 3 评论