算法
文章平均质量分 93
小凳子腿
悲守穷庐,将复何及!
展开
-
el-table 动态表格的合并-二维数组
el-table的表格合并都需要通过span-method方法来实现,无论简单的还是复杂的。上面的例子您做过吗?就算只是展示其实也是有一点难度的,更何况它是动态的,可添加、可删除,可以先思考一下,看看您是想怎么实现它呢?......原创 2022-08-01 23:34:33 · 617 阅读 · 1 评论 -
JS中Function和Object的关系研究分析(个人理解)
其实我也说不清他们之间的关系,或者说我也只能用代码推导出他们之间表层的关系,因为我也没有看过他们 底层的源码,网上关于源码级的分析我也暂时没有找到,所以以下内容我也只是给自己做个注释,便于自己理解原创 2019-05-10 23:22:07 · 2550 阅读 · 1 评论 -
Android自定义View之扇形饼状图
sin:在直角三角形中,∠α(不是直角)的对边与斜边的比叫做∠α的正弦cos:在直角三角形中,∠α(不是直角)的临边与斜边的比叫做∠α的余弦Math.toRadians(double angdeg):角度转换为弧度Math.toDegrees(double angrad):弧度转换为角度原创 2018-07-19 16:25:31 · 2260 阅读 · 4 评论 -
仿百度地图抽屉拖拽效果
ScrollTo和ScrollBy滑动的是该View的显示内容(子View),并不改变该View的坐标ScrollTo:它是滑动到指定位置ScrollBy:它是基于当前位置的相对滑动(内部最终也会调用ScrollTo)原创 2018-05-21 00:00:26 · 5754 阅读 · 11 评论 -
Android系统广播大全
- String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。 - String ALL_APPS_ACTION 动作:列举所有可用的应用。输入:无。 - String ALTERNATIVE_CATEGORY 类别:说明 activity 是用户正在浏览的数据的一个可选操作。 - String ANSWER_ACTION 动作:处理拨入的电话。 - String BATTERY_原创 2017-11-30 22:56:42 · 920 阅读 · 0 评论 -
Android四大组件之BroadcastReceiver
BroadcastReceiver广播接收者是Android四大组件之一。是一种广泛运用在组件与组件、跨应用程序间的数据通信。 BroadcastReceiver广播注册有两种类型:静态注册、动态注册。 BroadcastReceiver广播发送有四种类型:普通广播、有序广播、系统广播、App应用内广播自定义BroadcastReceiver创建自定义广播接收器继承基类BroadcastRec原创 2017-12-02 23:35:05 · 873 阅读 · 0 评论 -
EventBus3.0使用
EventBus是一个事件发布/订阅总线,有效适用于Android系统平台。配置在build.gradle文件中添加EvnetBus依赖compile 'org.greenrobot:eventbus:3.1.1'在Activity的onCreate或Fragmnet的onViewCreated中注册EvnetBusEventBus.getDefault().register(this);在Acti原创 2017-12-04 22:53:41 · 1031 阅读 · 0 评论 -
单例模式常用三种写法
对JVM而言,外部类和静态内部类是两个平等的对象,外部类被加载时静态内部类并不需要立即被加载,静态内部类不被加载则不需要进行类初始化,因此单例对象在外部类被加载了以后也不占用内存,起到了懒加载的效果。原创 2017-12-05 22:44:05 · 1577 阅读 · 0 评论 -
联系人字母排序、模糊搜索、选择
支持侧边栏索引支持中文,数字,字母模糊搜索支持全选、单选联系人支持检查联系人是否已添加单选演示多选演示功能解析大部分代码都是比较简单的,这里就不粘贴占用篇幅了,只对几个技术点做下解析,大家可以直接下载源码观摩。第一个问题:汉字转拼音依赖tinypinyin库implementation 'com.github.promeg:tinyp原创 2018-01-02 22:32:35 · 3043 阅读 · 0 评论 -
Java设计模式之装饰模式
Java设计模式之装饰模式装饰模式指的是在不必改变原类文件和不使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。组成抽象构件(Component)角色:给出一个抽象接口,以规范准备接收附加责任的对象具体构件(Concrete Component)角色:定义一个将要接收附加责任的类装饰(Decorator)角色:持有一个构件(Component)对原创 2018-01-26 14:10:17 · 744 阅读 · 0 评论 -
Java设计模式之建造者模式(Builder模式)
Java设计模式之建造者模式(Builder模式)Builder模式是用于构建复杂对象的一种模式。是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。使用Builder模式来替代多参数构造函数是一个比较好的实践法则。场景车分很多种如:汽车:名字,价格,有发动机,有棚子电动三轮车:名字,价格,有棚子自行车:名字,价格,不堵车其实为每个车写一原创 2018-01-05 22:26:29 · 923 阅读 · 0 评论 -
排序算法之选择排序
基本思想 比如在一个长度为N序的无数组中, 第一次比较:先拿角标为0的元素顺序的与剩下的元素比较,找到其中最小的元素并与角标为0的元素互换。 第二次比较:先拿角标为1的元素顺序的与剩下的元素比较,找到其中最小的元素并与角标为1的元素互换。原创 2017-09-28 12:02:37 · 1452 阅读 · 0 评论 -
排序算法之归并排序
归并排序将两个的有序数列合并成一个有序数列,我们称之为”归并”。 归并排序(Merge Sort)就是利用归并思想对数列进行排序。 归并排序(Merge Sort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序原创 2017-11-28 23:11:49 · 993 阅读 · 0 评论 -
排序算法之冒泡排序
算法原理 1. 从头开始比较相邻的两个元素,如果第一个比第二个大,就进行交换。一次循环后,最后的元素就会是最大的数。 2. 重复步骤1,只到倒数第二个结束。以此类推,只到只剩第一个元素比较结束。原创 2017-09-28 14:53:50 · 1293 阅读 · 0 评论 -
排序算法之快速排序
找出一个元素(理论上可以随便找一个)作为基准,通过一趟排序将要排序的数据分割成独立的两部分, 其中一部分的所有数据都比这个基准小,另外一部分的所有数据都比这个基准大,然后再按此方法对这 两部分数据分别进行快速排序,所以快速排序算法的核心算法就是分区操作,整个排序过程可以递归进行,以此达到整个数据变成有序序列。原创 2017-09-28 17:31:07 · 1895 阅读 · 0 评论 -
排序算法之插入排序
把待排序的值按其值的大小逐个插入到一个已经排好序的有序序列中,直到所有的值插入完为止,最后得到一个有序序列。原创 2017-09-28 19:01:12 · 1291 阅读 · 0 评论 -
查找算法之二分查找
二分查找又称折半查找,是将n个元素,大致分成相等的两部分,取最大角标除2(a[n/2])与x做比较。 如果x =a[n/2],则找到x,算法中止;如果x<\a[n/2],则只要在数组a的左半部分继续搜索x;如果x>a[n/2],则只要在数组a的右半部搜索x。 比如数组{1, 2, 5, 7, 8, 9},我们要找的元素是1,则查找的顺序是:查找中间元素,即5,由于5>1,则1肯定在5的左边[1,2]再次查找原创 2017-09-29 10:56:11 · 1516 阅读 · 0 评论 -
两个栈实现一个队列和两个队列实现一个栈
StackStack 后进先出(LIFO) 是在表的一端进行插入或删除运算的线性表,我们把插入、删除的这一端称为栈顶(Top),另一端称为栈底(Bottom)。方法说明E push(E item) 把元素压入栈顶并返回此元素 E pop() 移除栈顶元素并返回此元素 E peek() 查看栈顶元素而不移除它 boolean empty() 测试栈是否为空 int search(Object原创 2017-11-29 18:42:56 · 968 阅读 · 0 评论 -
排序算法之堆排序
堆的定义堆实际上是一棵完全二叉树。分大顶堆和小顶堆 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆算法 大顶堆:arr[i] >= arr[2i+1] && arr[i] >= arr[2i+2] 小顶堆:arr[i] <= arr[2i+1] && arr[i] <= arr[2i+2] 如图一般用数组来表示堆 根结点在角原创 2017-11-30 16:11:40 · 1009 阅读 · 0 评论