stl
stl
失落的换海迷风
关注我了解最近咨询
展开
-
【牛客】[编程题]跳石板
1.题目 小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3… 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->12->18->24 于是小易最少需要跳跃5次,就可以从4号石板跳到24号石板原创 2020-12-07 20:31:24 · 280 阅读 · 0 评论 -
【C++】STL实现string
#include <iostream> using namespace std; #include <assert.h> namespace test { class string { public: typedef char* iterator; public: // 构造 string(const char* str = "") { if (nullptr == str) str = ""; _size = strlen(str)原创 2020-11-19 15:02:02 · 112 阅读 · 0 评论 -
【C++】string类浅拷贝的解决方式
1.浅拷贝 对内存地址的复制,让目标对象指针和源对象指向同一片内存空间,最终在释放的时候造成了多次释放导致程序崩溃 如果类中设计到资源管理时,用户必须要显式实现拷贝构造函数以及赋值运算符重载,因为编译器默认是按照浅拷贝的方式生成的 2.深拷贝 让每个对象都独立拥有自己的资源—即当发生拷贝构造或赋值时,让每个对象管理自己的资源即可 3.写时拷贝:浅拷贝+引用计数 一旦s2要将空间中的内容改变,那么就深拷贝一份给s2,然后在改变s2中的内容,s1中的引用计数-1原创 2020-11-11 17:18:39 · 303 阅读 · 0 评论 -
【C++】STL简介
1.什么是STL C++标准库—>里面的代码都是按照模板来实现的 通俗说:就是对常见数据结构的封装(顺序表,链表,栈和队列,二叉树,哈希等) 还提供一些通用类型的算法,而且这些算法都非常灵活 通用类型的算法:任意类型的数据都要能够处理、与数据类型无关 非常灵活:算法具体做什么事情,而是取决于用户使用时所传递的参数 2.STL的六大组件 容器:就是对常见数据结构的封装—>组织数据 序列式容器(线性结构) string类 vector:动态类型的顺序表 list:带头结点的双向原创 2020-11-10 23:41:13 · 116 阅读 · 0 评论