- 博客(6)
- 资源 (9)
- 收藏
- 关注
原创 ArrayList并发不安全
ArrayList并发不安全示例代码解决方法 示例代码 public static void main(String[] args) { List<Integer> list = new ArrayList<Integer>(); IntStream.range(0, 10).forEach((i)->{ new Thread(()->{ ...
2019-07-24 21:11:53
130
原创 快速排序
快速排序介绍 快速排序是一种对冒泡排序的优化 基本思想:通过一趟排序将要进行排序的数据,分割成独立的两个部分,其中一部分所有数据都比另外一部分的所有数据都要小,然后再按照次方法对这两部分数据进行快速排序,整个排序可以递归进行,以此达到整个数据变成有序序列。 排序过程 原数组 5,8,9,3,2,4,1,6,7 首先随机 选出一个 基准值 比如 5 然后把 把比5小的放在左边,比5大的放在右...
2019-07-24 13:25:42
58
原创 插入排序
基本介绍 插入排序的原理和我们在玩斗地主的时候给扑克牌排序的道理很像。 排序过程详解 原始数组 3 5 4 2 1 第一轮遍历 拿出arr[1] 和arr[0] 比较发现 5 > 3 插入到原来自己的位置 第二轮遍历 拿出arr[2] 和arr[0] ,arr[1] 比较发现 4 > 3 并且 4<5 插入到 arr[0]和arr[1]中间,所以arr[1]向后移动 一...
2019-07-23 13:29:19
72
原创 选择排序
基本介绍 选择排序也是一种简单的排序算法。 基本思想: 第一次遍历数组中找出最小的元素,然后放到首位,也就是和arr[0]交换位置,第二次遍历从arr[1]~arr[length-1]中找出最小的值,然后和arr[1],交换位置,依次类推。。。 排序过程详解 原始数组:4, 2, 1, 5, 3 第一轮遍历 arr[0]~arr[leagth-1] 1,2,4,5,3 第一轮1...
2019-07-19 14:42:42
62
原创 冒泡排序
基本介绍 冒泡排序的基本思想是:通过对待排序的序列从前向后,依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前向后移动,就像水底的气泡一样逐渐向上冒。 冒泡排序会经过多轮循环排序,每轮排序相邻的元素进行比较,最终就会找出这轮数值当中最大的数值,并且排到最后。因为最后的数值已经确定是最大的数值,所以就没有必要在下一轮排序中比较大小,所以第二轮排序就不会在把最后的数值进行排序,在第二轮排序...
2019-07-19 14:38:51
86
原创 单例模式
饿汉式(静态变量) // 恶汉式(静态变量) class Singleton{ // 私有化构造函数 private Singleton(){} // 本类创建实例 private final static Singleton instance = new Singleton(); // 对外提供实例 public static Singlet...
2019-07-19 14:33:42
67
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人