原文链接:https://blog.csdn.net/xiangzh...​

数据结构与算法

https://zhuanlan.zhihu.com/p/..._source=weibo&utm_medium=social

http://crazyandcoder.tech/201... 算法与数据结构-排序/

1、排序

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。

1.1、 直接插入排序

思想:

将第一个数和第二个数排序,然后构成一个有序序列

将第三个数插入进去,构成一个新的有序序列。

对第四个数、第五个数……直到最后一个数,重复第二步。

代码:

首先设定插入次数,即循环次数,for(int i=1;i

设定插入数和得到已经排好序列的最后一个数的位数。insertNum和j=i-1。

2、设计模式

参考:Android开发中的一些设计模式

2.1、单例设计模式

单例主要分为:懒汉式单例、饿汉式单例、登记式单例。

特点:

单例类只有一个实例

单例类必须自己创建自己的唯一实例

单例类必须给所有其他对象提供这一实例。

在计算机系统中,像线程池,缓存、日志对象、对话框、打印机等常被设计成单例。

懒汉式单例:

Singleton通过将构造方法限定为private避免了类在外部被实例化,在同一个虚拟机范围内,Singleton的唯一实例只能通过getInstance()方法访问。(事实上,通过Java反射机制是能够实例化构造方法为private的类的,那基本上会使所有的Java单例实现失效。

它是线程不安全的,并发情况下很有可能出现多个Singleton实例,要实现线程安全,有以下三种方式:

1.在getInstance方法上加上同步

2.双重检查锁定

3.静态内部类

这种方式对比前两种,既实现了线程安全,又避免了同步带来的性能影响。

饿汉式单例:

饿汉式在创建类的同时就已经创建好了一个静态的对象供系统使用,以后不再改变,所以天生是系统安全。

————————————————

免费获取Android进阶资料点击下方链接

https://shimo.im/docs/tXXKHgd...

更多相关文章

  1. android和view相关的东西
  2. Android中SurfaceView用法简单实例
  3. 一个侧屏滑动操作的实例(仿遇见)之三:代码分析
  4. Android(安卓)Design Support Library之TabLayout
  5. Android使用newInstance()实例化fragment&setArguments()传递参
  6. -Android(安卓)MediaPlayer播放mp3的实例
  7. Android(安卓)中隐藏虚拟按键的方法实例代码
  8. Android(安卓)布局转化为View对象的两种方法
  9. Android原生音量控制实例详解

随机推荐

  1. 一篇文章带你了解SQL之CASE WHEN用法详解
  2. MySQL隔离级别和锁机制的深入讲解
  3. 浅析MySQL 主键使用数字还是uuid查询快
  4. MySQL之权限以及设计数据库案例讲解
  5. MySQL为何不建议使用默认值为null列
  6. Node-Red实现MySQL数据库连接的方法
  7. MySQL如何解决幻读问题
  8. 浅谈MySQL之select优化方案
  9. SQL实现LeetCode(197.上升温度)
  10. SQL实现LeetCode(196.删除重复邮箱)