STL源码分析之stack配接器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84830495 前言 上面几节我们分析了deque是一个双向开口, 并且每部分数据也是存放在连续空间中, 而stack是栈, 只允许在尾进行操作, 而且stack的功能deque都已经实现了, 只需要对deque的功能进行部分封装就行了, 也就提取出pop_back, push_back就行了. stack严格他并不是容器, 它是一底部容
分类: 其他 发布时间: 12-08 23:19 阅读次数: 0

STL源码分析之queue配接器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84830597 前言 上一节分析了stack实现, stack是修改了deque的接口而实现的一个功能简单的结构, 本节分析的queue也是用deque为底层容器封装. queue数据都是在头部进行操作的, 之允许进行push和pop操作. queue分析 queue结构 #ifndef __STL_LIMITED_DEFAULT_TEM
分类: 其他 发布时间: 12-08 23:19 阅读次数: 0

STL源码分析之heap大根堆

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84844886 前言 在分析本节之前你至少应该对堆排序有所了解, 大根堆, 小根堆等. 本节分析的heap就是堆排序, 严格意义上来讲heap并不是一个容器, 所以他没有实现自己的迭代器, 也就没有遍历操作, 它只是一种算法. 代码来自stl_heap.h. heap分析 push插入元素 插入函数是push_heap. heap只接受R
分类: 其他 发布时间: 12-08 23:19 阅读次数: 0

STL源码分析之priority_queue优先级队列

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84844960 前言 上一节分析heap其实就是为priority_queue做准备. priority_queue是一个优先级队列, 是带权值的. 支持插入和删除操作, 其只能从尾部插入,头部删除, 并且其顺序也并非是根据加入的顺序排列的. priority_queue因为也是队列的一种体现, 所以也就跟队列一样不能直接的遍历数组, 也
分类: 其他 发布时间: 12-08 23:19 阅读次数: 0

STL源码分析之slist有序容器 上

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84845060 前言 不同于list是Forward Iterator类型的双向链表, slist是单向链表, 也是Bidirectional Iterator类型. slist主要耗费的空间小, 操作一些特定的操作更加的快, 同样类似与slist, 在执行插入和删除操作迭代器都不会像vector使迭代器失效. slist主要的问题在于它
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

STL源码分析之slist有序容器 下

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84863153 前言 上节我们对slist的基本构成, 构造析构做了分析, 本节 我们就来分析关于slist的基本元素操作. slist分析 基本属性信息 slist是只有正向迭代, 所以只能直接获取头部的数据. template <class T, class Alloc = alloc> class slist { ... priv
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

STL源码分析之RB-tree关联容器 上

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84863185 前言 本节将分析STL中难度很高的RB-tree, 如果对红黑树有所认识的那么分析起来的难度也就不是很大, 对红黑树没有太多了解的直接来分析的难度就非常的大了, 可以对红黑树有个了解红黑树之原理和算法详细介绍. 红黑树是很类似与AVL-tree的, 但是因为AVL-tree在插入,删除的操作做的实际操作很多, 综合而言计算
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

2018-2019赛季多校联合新生训练赛第三场(2018/12/8)补题题解

感慨 得复习回溯和dfs了。。。 A 变形虫(语法基础) 代码 #include <bits/stdc++.h> using namespace std; map<int,int> num; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,m; cin>>n>>m; for(int i=0;i<m;i++) cin>>num[i]; for(int i=0;i<m;i++)
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

STL源码分析RB-tree关联容器 下

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Function_Dou/article/details/84863205 前言 上节我们分析了关于RB-tree的迭代器实现, 其中最重要的功能都会在rb-tree结构中调用. 本节我们就来分析RB-tree结构. 再来复习一下红黑树的规则: 每个节点的颜色是黑色或者红色 根节点必须是黑色的 每个叶节点(NULL)必须是黑色的 如果节点是红色的, 则子节点必须是黑色的 从节点到每个子孙节点的路径
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

选择排序与冒泡排序区别与比较

https://blog.csdn.net/weixin_38277423/article/details/70304120 区别主要在交换的方式上 每一轮都把最大或最小的元素筛选出来放在相应的位置上 这是相同的 但是 对于每一轮 比如第一轮 要把1~n 中最大的那个放到n这个位置 冒泡法每次比较和移动相邻的两项 而选择排序每次交换当前项和第n项 我把代码写出来你就懂了: 冒泡: for i:=1 to n-1 do if (a[i]>a[i+1]) then swap(i,i+1); 选择:
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

第四次作业----数组

1.本章学习总结 1.1 思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 1.2.2 代码累计 2.PTA总分 2.1截图PTA三次题目集 2.2 我的总分: 3.PTA实验作业 3.1 PTA题目1 3.1.3 PTA提交列表及说明 3.2 PTA题目2 3.2.1 算法分析 3.2.2 代码 3.2.3 PTA提交列表及说明 3.3 PTA题目3 3.3.1 算法分析 3.3.2 代码 3.3.3 PTA提交列表及说明 4.代码互评 4.1 代码截图 同学代码截图。
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

lodop简单入门教程

lodop简单入门 1 安装(这个不介绍,下载安装即可)   声明只能装windows,linux不能装,所以linux 服务器要使用直接使用http://localhost:8000/CLodopfuncs.js去复制代码部署到服务器上,还有LodopFuncs.js 共两个js文件即可 2 使用   使用非常简单,本地安装控件之后,页面引入两个js文件    3 之后便是打印使用   使用一个字非常的坑爹非常的耗时,此时就一个字,所有格式网上找,比如你想打印小票 名片二维码等,就在网上对应
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

前端每日实战3.纯 CSS 创作一个容器厚条纹边框特效

原文地址:3.纯 CSS 创作一个容器厚条纹边框特效 没有啥好点子呀,不爽 HTML代码: <div class="box"> <div class="content"> <h2>What is Lorem Ipsum?</h2> <p>Mauris volutpat risus quis nisi tempus hendrerit. Nullam nisi urna, suscipit quis risus sed
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

maven_SSM集成的demo

一、集成spring 二、集成springMVC 三、集成mybatis 1. pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

C语言--第4次作业

1.本章学习总结 1.1思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 初识数组:这几周第一次接触数组,感觉有点懵,是一个很陌生的知识点,但是运用范围及其广泛,大大简化了程序,增大了代码的可读性,于此同时,内容也极其丰富,包括一维数组、二维数组和字符数组,真是让人头大啊 遇到的问题:1.老师上课比较快a,基本上一节课一种数组,对于二维数组和字符数组的掌握真的很不牢固,缺少课后巩固和复习的时间; 2.对于数组元素交换位置不知道怎么处理,对于冒泡、选择、重构数组,哈希查找等使用方
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

C++解析(23):多态与C++对象模型

0.目录 1.多态 2.C++对象模型 3.继承对象模型 4.多态对象模型 5.小结 1.多态 面向对象中期望的行为: 根据实际的对象类型判断如何调用重写函数 父类指针(引用)指向 父类对象则调用父类中定义的函数 子类对象则调用子类中定义的重写函数 面向对象中的多态的概念: 根据实际的对象类型决定函数调用的具体目标 同样的调用语句在实际运行时有多种不同的表现形态 C++语言直接支持多态的概念: 通过使用virtual关键字对多态进行支持 被virtual声明的函数被重写后具有多态特性 被vir
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

12.8个人站立会议

今天我编写了下面这段程序。
分类: 其他 发布时间: 12-08 23:18 阅读次数: 0

CF1030E Vasya and Good Sequences 最大值分治/容斥

传送门 似乎正解很简单(就是一个很简单的容斥),然而我就是要写麻烦的2333 首先考虑到能够交换两个二进制位,那么一个数产生的贡献就只和它的二进制的$1$的个数相关,我们将$a$数组转化为$b$数组,其中$b_i$为$a_i$的二进制位数,而$sum_i$为$b_i$的前缀和。 然后我们考虑统计答案。显然我们需要统计区间和为偶数的区间,也就是$\sum\limits_i \sum\limits_{j=0}^{i-1} [sum_i \% 2 == sum_j \% 2]$。我们需要求一个前缀和
分类: 其他 发布时间: 12-08 23:17 阅读次数: 0

软件用户分析

我们的软件用户大致分为两类 一 李先生 职业:教师 年龄:40 需求:希望传授学生自己的知识,让学生提高能力 解决:我们可以模拟实验场景,让老师在讲解课程的同时利用我们的软件模拟实验过程,使学生印象深刻。 二 二狗子 职业:学生 年龄:20 需求:希望了解实验过程,提高自己的实验能力。 解决:在我们的软件中,学生可以在实验前自己动手进行实验过程,为自己的实验课提前预习。
分类: 其他 发布时间: 12-08 23:17 阅读次数: 0

博客园作业2

到现在学习c++接近3个月,但是感觉水平从数组之后就停滞了。有些点大致是能懂的,但是自己实际操作就会很无从下手,模糊的点太多,需要从许多细小的点开始学习。冒泡排序法还是不太能完整打出来,结构体也是,大体是知道,但是总是会有各种理解上的偏差,比如统计学生平均成绩和及格人数,总是有点搞不清它们的顺序。还有指针的应用例如字符串复制,需要再多看课本仔细看细节。之前还经常搞错声明和定义,现在懂了。 2. 题目如下: 6-1 字符串复制 (10 分) 本题要求编写函数,将输入字符串t中从第m个字符开始的全
分类: 其他 发布时间: 12-08 23:17 阅读次数: 0