03 2020 档案

摘要:希尔排序,主要就是通过一个步长来分割数组,如何步长是5,那么整个数组将分成5组。分组之后用插入排序。 1 void xier(int *array, int len) 2 { 3 int gap = len; 4 5 while(gap > 1) 6 { //用除以3+1的方式据说是某位大牛算出来的 阅读全文
posted @ 2020-03-31 16:01 撑雨伞的小男孩 阅读(190) 评论(0) 推荐(0)
摘要:插入排序是一个找坑填坑的过程。 把一个数组分成两个数组来看。前面一个有序数组(刚开始只有一个元素),后面一个无序数组。在无序数组后定义一个坑index,取出当前值。跟前面的对比(假设从小到大排列),如果比面的一个值小,则将这个坑往前移。 外层循环是有序序列。从第一个开始。内存循环是无序序列,从有序序 阅读全文
posted @ 2020-03-31 15:55 撑雨伞的小男孩 阅读(122) 评论(0) 推荐(0)
摘要:其实旋转排序跟冒泡有点类似,只不过他不是每一步都进行对比调换。而是返回一个标签,在最后与进行调换。 1 void paixu(int *array, int len) 2 { 3 int min = 0; 4 for(int i = 0; i < len -1; i++) 5 { 6 min = i 阅读全文
posted @ 2020-03-31 15:49 撑雨伞的小男孩 阅读(70) 评论(0) 推荐(0)
摘要:冒泡,相对还好理解。从第一个开始,跟后面的对比,比大小来确定是否需要交换位置,慢慢往上冒。外层循环是需要比较的数值的个数(第一个开始哈)。如果说从小到大排,则一个个大的数就往后冒。 内存循环是除掉排好的数之后,剩下的个数。中间涉及到两个数的对比,所以是len - 排好的数i - 1. 1 void 阅读全文
posted @ 2020-03-31 15:47 撑雨伞的小男孩 阅读(114) 评论(0) 推荐(0)
摘要:如果是按一个固定的坐标系的主轴旋转。则为“X-Y-Z固定角坐标系”(注意旋转的顺序和旋转算子相乘的顺序是从右边开始的) 如果是按移动后的坐标系的主轴旋转。则为“Z-Y-X欧拉角坐标系”(注意旋转的顺序和旋转算子相乘的顺序是从左边开始的)如何转动的轴是实时变的。则顺序是从左到右来的 阅读全文
posted @ 2020-03-26 16:16 撑雨伞的小男孩 阅读(471) 评论(0) 推荐(0)
摘要:来源:https://blog.csdn.net/qq_39142791/article/details/99697540 阅读全文
posted @ 2020-03-25 13:52 撑雨伞的小男孩 阅读(588) 评论(0) 推荐(0)
摘要:班长是通知者,学生是观察者。看班长的通知,学生来行动。 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <iostream> 3 #include <string> 4 #include <list> 5 6 using namespace std; 7 8 阅读全文
posted @ 2020-03-24 20:53 撑雨伞的小男孩 阅读(190) 评论(0) 推荐(0)
摘要: 阅读全文
posted @ 2020-03-24 15:42 撑雨伞的小男孩 阅读(353) 评论(0) 推荐(0)
摘要:具有中间点的路径的三次多项式。 阅读全文
posted @ 2020-03-24 15:20 撑雨伞的小男孩 阅读(386) 评论(0) 推荐(0)
摘要:在一定时间内将工具从初始位置移动到目标位置,期间会产生一条路径。也可以用机械臂的角度来看,是机械臂角度的变化。 如果初始和结束时时,都是静止的。那么对应的角度即为零。 可假设三项式方程为: θ = a0 + a1 * t + a2 * t2 + a3 * t3 求一阶导得运动速度,二阶导为加速度 θ 阅读全文
posted @ 2020-03-24 15:11 撑雨伞的小男孩 阅读(986) 评论(0) 推荐(0)
摘要:同一个物品,有不同策略的情况。将算数封装成策略,根据实际情况调用策略。 下面是英雄选用不同战斗方式的策略。代码如xia : 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <iostream> 3 4 using namespace std; 5 6 7 / 阅读全文
posted @ 2020-03-24 09:52 撑雨伞的小男孩 阅读(145) 评论(0) 推荐(0)
摘要:要做一件事情,如果这件事件的过程中,基本步骤是一致的。就可以将这几步骤弄成一个函数。如何需要看情况,对其中的某一个步骤是否调用,则可用一个钩子函数,即通过虚函数重写一个bool型判断函数来确定。 代码如下: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include < 阅读全文
posted @ 2020-03-24 09:16 撑雨伞的小男孩 阅读(169) 评论(0) 推荐(0)
摘要:将函数功能/方法进行组合。 如: 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <iostream> 3 4 using namespace std; 5 6 class SysA 7 { 8 public: 9 void operationA() { 1 阅读全文
posted @ 2020-03-24 09:12 撑雨伞的小男孩 阅读(147) 评论(0) 推荐(0)
摘要:在原来的基础上,增加一个功能。 比如有个手机类,你可以写个抽象的装饰器类,该类中加入个手机类的成员,因为后期要用到这个手机类,且无法被更改,则可用protected:成员。 假如要写个手机贴膜的装饰器,则可继承写好的装饰器,然后对相应的虚函数功能进行重写。 代码示例: 1 #define _CRT_ 阅读全文
posted @ 2020-03-24 09:10 撑雨伞的小男孩 阅读(282) 评论(0) 推荐(0)
摘要:在原来的基础上,增加一个功能。 比如有个手机类,你可以写个抽象的装饰器类,该类中加入个手机类的成员,因为后期要用到这个手机类,且无法被更改,则可用protected:成员。 假如要写个手机贴膜的装饰器,则可继承写好的装饰器,然后对相应的虚函数功能进行重写。 代码示例: 1 #define _CRT_ 阅读全文
posted @ 2020-03-24 09:07 撑雨伞的小男孩 阅读(150) 评论(0) 推荐(0)
摘要:海外代理的模式: #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> using namespace std; //商品 class Item { public: Item(string kind, bool f 阅读全文
posted @ 2020-03-23 13:29 撑雨伞的小男孩 阅读(127) 评论(0) 推荐(0)
摘要:单例模式,顾名思义,整个代码只有一个。如类。如果采用单例模式,则需要在静态数据区域上分配个内存,提供给整个程序。他得自己创建整个类实例。 单例模式的使用步骤:a) 构造函数私有化。// 为不让在类的外部再创建一个本类的实例b) 提供一个全局的静态方法(全局访问点)来获取单例对象。c) 在类中定义一个 阅读全文
posted @ 2020-03-23 13:24 撑雨伞的小男孩 阅读(216) 评论(0) 推荐(0)
摘要:工厂方法模式 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //抽象的水果类 class Fruit { public: virtual void getName() = 0; }; class Ap 阅读全文
posted @ 2020-03-22 19:19 撑雨伞的小男孩 阅读(159) 评论(0) 推荐(0)
摘要:一个类就只做一件事情。 1 #define _CRT_SECURE_NO_WARNINGS 2 #include <iostream> 3 4 using namespace std; 5 6 7 #if 0 8 class Clothes 9 { 10 public: 11 void shoppi 阅读全文
posted @ 2020-03-22 09:22 撑雨伞的小男孩 阅读(137) 评论(0) 推荐(0)
摘要:用户提供一个标签,工厂通过一个函数来判断。比如用户提供一个苹果,水果工厂就得根据水果生成器(函数)来创建一个苹果。这些水果的类在外面是已经写好了的。 这个水果生成器直接返回一个水果种类的指针。例子如下。 #define _CRT_SECURE_NO_WARNINGS #include <iostre 阅读全文
posted @ 2020-03-22 09:19 撑雨伞的小男孩 阅读(147) 评论(0) 推荐(0)
摘要:在实际代码中,为提高代码的可复用性(后期不用动),可维护性(后期不用改源代码),通过一个抽象类来定义,借助虚函数来定义不同的继承对象。 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //抽象类 cla 阅读全文
posted @ 2020-03-21 16:03 撑雨伞的小男孩 阅读(132) 评论(0) 推荐(0)
摘要:上图中的角A表示工件实体轮廓线段的夹角,角B表示等离子枪摆角最大的阈值(枪相对于竖直方向的最大角度),根据实际情况枪给出的固定角度参数阈值,角C表示需要切割的工件坡口的角度。 根据空间三角函数关系,可列出对应角度的表达式。当C值确定时,B在可转动的范围内,角A的最小值,即为能正常切割时,工件实体轮廓 阅读全文
posted @ 2020-03-12 11:52 撑雨伞的小男孩 阅读(774) 评论(0) 推荐(0)
摘要:/ 根目录 /home home目录 /bin 放工具 /lib 放库文件 /usr/include 头文件 阅读全文
posted @ 2020-03-02 23:09 撑雨伞的小男孩 阅读(103) 评论(0) 推荐(0)
摘要:class String { String ( const char* p ); } 定义一个类。String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”); 如果不需要隐式转换,如下: class String { String ( 阅读全文
posted @ 2020-03-02 14:23 撑雨伞的小男孩 阅读(329) 评论(0) 推荐(0)
摘要:C++类有继承时,析构函数必须为虚函数。如果不是虚函数,则使用时可能存在内在泄漏的问题。 假设我们有这样一种继承关系: 如果我们以这种方式创建对象:SubClass* pObj = new SubClass();delete pObj;不管析构函数是否是虚函数(即是否加virtual关键词),del 阅读全文
posted @ 2020-03-02 14:16 撑雨伞的小男孩 阅读(223) 评论(0) 推荐(0)