
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
插入排序算法主要是将待排序数组依次插入有序数组中,时间复杂度是O(logn^2),空间复杂度为O(1);下面是代码实现步骤:1.先假定数组左边第一个元素是有序的void Sorts::insert(vector<int>& nums){if (nums.size() <= 1)return;......}2.依次遍历待排数组的右边第二个元素到最后一个元素void Sort
一、原理讲解1.1意图表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。1.2应用场景一个对象结构包含很多类对象,它们有不同的接口,而你想对这些对象实施一些依赖于其具体类的操作;需要对一个对象结构中的对象进行很多不同并且不相关的操作,而你想避免这些操作“污染”这些对象的类;定义对象结构的类很少改变,但经常需要在此结构定义新的操作;1.3结构图
一、原理讲解工厂方法是简单工厂的改进,改进之处是每款产品对应一个工厂,该工厂只生产这一种产品,也就是只创建这个产品类对象。1.1意图定义一个创建对象的接口,让子类决定实例化哪个类。该模式使类对象的创建延迟到子类。1.2应用场景客户端不知道他所需要的对象的类;需要将类的实例延迟到子类中实现,并且一类产品有许多形态。’1.3结构图(UML图)(后面补充)1.4代码实现步骤a1 定义一个抽象产品接口类I
用vnc(tvnviewer)远程树莓派屏幕时,显示全屏,发现退出(关闭)不了全屏。经过查找,发现想要关闭全屏,需要按如下快捷键组合:Ctrl+Alt+Shift+F 参考内容:https://jingyan.baidu.com/article/86112f1396100227379787a3.html(参考:退出快捷键Ctrl+Alt+Shift+F)...
1.1出现问题博主按照这篇教程https://blog.csdn.net/naibozhuan3744/article/details/84961041搭建树莓派vnc环境或者xrdp环境时,一直出现win10系统ping不通树莓派,而树莓派却可以ping通win10莫名其妙的问题。也就是说,无论是用tvcviewer还是用putty都连接不上树莓派,如下图所示:(前提:已经确认树莓派上搭建好..
一、原理讲解别名状态对象(object for state)。1.1意图允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。1.2应用场景一个对象的行为取决于它的状态,并且它必须在运行时根据状态改变它的行为;一个操作中含有庞大的分支语句的条件语句,且这些分支依赖于该对象的状态;1.3结构图(UML图)1.4代码实现步骤a1 定义一个状态接口类IState,定义一个接口函数han
由上面题目可知,输入是一个一维数组,输出是一个二维数组。其中输入一维数组中存储的是节点元素,输出二维数组是每层节点关键字打印。故知道该题主要考察二叉树基本的层次遍历方法,需要打印出每层节点的关键字。二叉树的层次遍历实现思路是用一个队列记录每层节点,当记录第一层节点时,弹出第一层节点进行访问,访问的同时需要遍历对应节点的左右子节点压栈;当访问完一层节点时,此时改成节点所有左右子节点都已经压栈,由于先
博主看了许多文章和一些书,发现要么代码不全,要么对备忘录的理解有偏差,要么干脆根本就不是备忘录模式,经过博主查阅十余篇文章和详细研究书本备忘录模式,总结出这篇精华的c++备忘录模式文章,感兴趣的朋友可以阅读和提出建议。# 一、原理讲解别名Token。## 1.1意图在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可以将该对象恢复到原先保存的状态。
一、原理讲解模板方法的核心定义一个算法的骨架,而将一些细节方法延迟到之类中实现。其中,算法骨架是不变的部分,细节方法是变化的部分。设计模式的核心思想就是将变化部分和不变部分有效隔离、耦合出来。该思路的实现重要利用c++多态特性,运行时刻,基类指针指向不同的父类,则运行该父类重写的函数(前提:基类中是虚函数)。实现步骤如下:1.1定义一个抽象基类ABC;1.2抽象基类ABC定义两个抽象方...
一、前序遍历递归法前序遍历递归法主要是先遍历父节点parent,然后遍历左子节点,最后遍历右子节点,具体可以参考博客:二叉树基本知识点图文介绍(全网最简洁)_净无邪博客-CSDN博客。1.1具体解法如下:递归法的要诀是找到递归退出条件和按条件分步进行递归。具体解法比较简单,直接看代码和解释即可理解。二、前序遍历迭代法迭代法,也成为非递归法解前序遍历时,需要依靠一个栈数据结构依次遍历每一个节点。







