- 博客(27)
- 资源 (3)
- 收藏
- 关注
原创 快速排序 TypeScript C++ lua 实现 分治法(Divide-and-ConquerMethod)。 效率 O(N*logN)
快速排序 TypeScript C++ lua 实现
2022-04-22 11:11:06
1867
原创 cocos2dx 对象池 Lua
localNianGaoNode=requirePack("task.toyboxScripts.NianGaoNode")localNianGaoNodePool=class("NianGaoNodePool")functionNianGaoNodePool:ctor()self.nodePoll={};print("202020对象池的构造")endfunctionNianGaoNodePool:getNianGao()...
2020-12-30 10:32:57
685
原创 TypeScript 贪心算法
//贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解//1建立数学模型来描述问题//2把求解的问题分成若干个子问题//3对每个子问题求解,得到子问题的局部最优解//4把子问题的解局部最优解合成原来解问题的一个解//A、不能保证解是最佳的。因为贪心算法总是从局部出发,并没从整体考虑//B、贪心算法一般用来解决求最大或最小解...
2020-11-02 17:18:48
423
原创 TypeScript 快速排序 从小到大 从大到小
//快速排序privatequickSort(arr:number[],left:number,right:number){if(right<=left){return}leti:number=left;letj:number=right+1;letcriterion:number=arr[left];//基准...
2020-10-29 11:10:18
759
原创 TypeScript 广度优先
privateallMap=newMap();//队列先进先出。privateinitMap(){this.allMap.set('My',['A','B','C']);this.allMap.set('A',['AA','AAA','AAAA']);this.allMap.set('B',['BB','BBB','BBBB']);this.allMap.set('C',['CC...
2020-10-16 17:39:57
250
原创 TypeScript 选择排序
//速度是o(n*n)//选择排序速度不快。从大到小privatepaixu(arr:number[]){letn=arr.length;leti:number=0;for(i=0;i<n;i++){letindx:number=iletj:number=0;...
2020-10-15 15:24:17
207
原创 TypeScript 二分查找
privatearr:number[]=newArray(10);privateerfen(arr:number[],x:number):number{//速度是o(logn)默认是2为底//前提已排好顺序//返回indxletleft:number=0;letright:number=arr.length-1;while...
2020-10-15 11:51:15
299
原创 TypeScript门面模式
//门面模式/外观模式:减少系统的相互依赖。提高灵活性。提高安全性。//要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面是提供一个高层次的接口,使得系统易于使用。interfaceInObserver{//观察者update():void;}classAAAA{doA(){YBLog.log("Test","20202020");}}classBBBB{d...
2020-10-03 15:07:50
127
原创 TypeScript 设计模式的原则( oop )
一 .单一责任原则。 single responsibility principle :二. 里氏替换原则:只要父类可以出现的地方,子类都可以替换,反过来就不能。1.子类必须完全实现父类的方法。2.子类也可以有自己的个性。3.覆盖或者实现父类的方法时输入参数可以放大(重载);4.覆盖或者实现父类的方法时输出结果可以缩小;三.依赖倒置。(抽象类 接口)四.接口隔离原则。(接口尽量少方法,宁愿多个接口)五.迪米特法则。(少耦合)六.开闭原则。(对扩展开发,对修改关闭。...
2020-09-29 22:38:42
253
原创 Cretor TypeScript 物理系统种使用 速度 力 冲量 作用到物体上 与 抛物线预制的关系。
1.需求: 提前绘制物理系统的抛物线。2.前提: 使用物理系统 (不要自己用加速度去算,很low。而且自己搞一套重力看起来很爽,万一其他的物体也要用,那就又写一套重力系统) ; 预设好想要的速度。3.关键:我希望物体按照我定义好的速度轨迹运行,自己运算的结果是否与物理系统的计算吻合。先不要自己去设置重力,用系统默认的,后面可以自己再设计重力反推。4.步骤:一共3个球,bulletNode bulletNode2 都是一开始静止的且重合。bulletNode3 一开始就有速度。5.结论:用..
2020-09-28 15:28:57
460
原创 TypeScript 建造者/生成 模式
/建造者/生成模式有多少种产品就有多少种建造者classProduct{//产品param:string;doA():void{YBLog.log("Test","16161616",this.param);}}abstractclassBuilder{abstractinit():void;abstractbuildProduct():Product;}...
2020-09-25 18:04:40
361
原创 TypeScript组合模式(透明)
//组合模式(透明)compositepattern组合模式/合成模式/part-whole整体与部分模式。把对象组合成树形结构,这样对象和组合对象的使用具有一致性。interfaceComponet{//组件C公有的doA:()=>void;addComponet:(componet:Componet)=>void;removeComponet:(componet:Componet)=>void;...
2020-09-25 17:05:05
436
原创 TypeScript(安全模式) 组合模式/合成模式/part - whole 整体与部分模式
//组合模式compositepattern组合模式/合成模式/part-whole整体与部分模式。把对象组合成树形结构,这样对象和组合对象的使用具有一致性。interfaceComponet{//组件C公有的doA:()=>void;}classCompositeimplementsComponet{//树/组privatearray:Componet[]=[];//声明数组publicad...
2020-09-25 16:13:02
381
原创 TypsScript桥梁模式
//侨桥梁模式interfaceAA{s:string;doA:()=>void;doB:(s:string)=>number;}classaaimplementsAA{s="123"doA(){YBLog.log("Test","AAA",this.s);}doB(s:string):number{return0;...
2020-09-25 15:05:25
150
原创 Creator 对象池的用法 享元模式
const{ccclass,property}=cc._decorator;importYBConst,{PopupLayerZorder}from'../core/constant/YBConst';importYBLogfrom'../core/utils/YBLog';/***箭的尾巴的对象池。*/@ccclassexportdefaultclassArrowTailPoolextendscc.Component{...
2020-09-23 15:58:56
331
原创 TypseScript享元模式
//享元模式就是对象池共享对象abstractclassAA{protectedintrinsic:string=null;//内部的protectedextrinsic:string=null;//外部的constructor(extrinsic:string){YBLog.log("Test","17构造函数");this.extrinsic=extrinsic;...
2020-09-23 15:45:56
512
原创 TypeScript适配器模式
//适配器模式定义一个客户端所期待的接口,让原来接口不匹配的两个类能在一起工作interfaceAA{doA:()=>string;}interfaceBB{doB:()=>string;}interfaceCC{doC:()=>string;}classaaaimplementsAA{doA():string{return"AA";...
2020-09-22 20:06:04
282
原创 TypeScript策略模式
//策略模式每个算法都封装起来。可以互换。interfaceStategy{do1:()=>void;}//具体的构件classaaaimplementsStategy{do1(){YBLog.log("Test","策略具体做1");}}//具体的构件classbbbimplementsStategy{do1(){YBLog.log("Te...
2020-09-22 19:38:28
252
原创 TypeScript装饰者模式
//装饰者模式//组件抽象类abstractclassComponent{publicabstractoperator():void;}//具体的构件classcomponentObjextendsComponent{operator(){YBLog.log("Test","具体的构件我做事了");}}//抽象装饰abstractclassDecoratorextendsCom...
2020-09-20 17:06:03
161
原创 TypeScript责任链模式
//责任链//结果classResponese{privatesss:string;constructor(sss:string){this.sss=sss;YBLog.log("结果",this.sss);}}//请求classRequest{privatemyLevel:number=0;publicsetLevel(myLevel:number){...
2020-09-19 22:34:10
292
原创 TypeScript模板设计模式
abstractclassTemplate{abstractexcute1():void;//必须在派生类中实现abstractexcute2():void;//必须在派生类中实现abstractexcute3():void;//必须在派生类中实现excute(){//这就是模板方法定义了执行的顺序所有子都是这个顺序。this.excute1();this.exc...
2020-09-19 21:34:44
233
原创 TypeScript命令模式
abstractclasscommand{protectedreceiver:Receiver=null;constructor(receiver:Receiver){YBLog.log("Test","父类的构造函数");this.receiver=receiver}abstractexcute():void;//必须在派生类中实现}abstractclassRec...
2020-09-19 17:12:01
315
原创 TypeScript中介者调停者
//中介者调停者模式interfacemediatorInterface{selfMethod():void;//用户的自发行为depMethod():void;//依赖行为。用户要通过这个方法做事情。}//用户classAAA{privatemediator:Mediator=null;publicconstructor(mediator:Mediator){this.mediator=...
2020-09-17 09:41:40
145
原创 TypScript原型模式注意深拷贝浅拷贝
//原型模式 本质就是拷贝。 注意浅拷贝还是深拷贝。//对象是包含一组键值对的实例。值可以是标量、函数、数组、对象等,如下实例:leta={a:1,b:2,c:{d:1},//浅拷贝,使用的还是地址}letb={};Object.assign(b,a);//原型模式的核心就是复制。YBLog.log("Factory",a,a.c);//{a:1,b:2,c:{…}}{d:1}YBLog.log(...
2020-09-16 19:27:29
395
原创 TypeScript代理模式/委托模式
interfaceproxyInterface{dofirst();}interfaceplayer{dodoA():void;}classbeProxyimplementsplayer{publicconstructor(){YBLog.log("beProxy","我是被代理的那个人");}publicdodoA():void{YBLog.log("...
2020-09-16 17:34:22
1755
原创 TypeScript工厂模式和单例模式
interface ssInterface { do1(): void;}class aaa implements ssInterface { public constructor() { YBLog.log("Factory", " aaa 构造函数 "); } public do1(): void { YBLog.log("Factory", " aaa do1 "); }}class bbb implements...
2020-09-16 16:55:28
389
原创 TypeScript抽象工厂的模式
一 .工厂模式的总结。 为创建一组相关或互相依赖的对象体统一个接口,无需指定具体类。二. 快速的例子。interfacefactoryInterface{produceA():AInterface;produceB():BInterface;}interfaceAInterface{dodo():void;}interfaceBInterface{dodo():void;}classa1implement...
2020-09-16 16:42:37
324
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人