![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
zhaojian0910
这个作者很懒,什么都没留下…
展开
-
排序算法之选择排序
算法思想 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 代码实现 public void testSort(int[] list) { for (int i = 0; i < list.length; i++) { int val = list[i];...原创 2020-02-20 01:02:52 · 129 阅读 · 0 评论 -
排序算法之归并排序
算法思想 如果要排序一个数组,我们先把数组从中间分成前后两部分,然后对前后两部分分别排序,再将排好序的两部分合并在一起,这样整个数组就都有序了。 代码实现 /** * 将数组按中间位置分割成2个数组,直到分出来的数组中只有2个或者1个元素 * @param startIdx * @param endIdx */ public void demer...原创 2020-02-20 00:44:38 · 103 阅读 · 0 评论 -
排序算法之插入排序
算法思想 首先,我们将数组中的数据分为两个区间,已排序区间和未排序区间。"初始已排序区间只有一个元素,就是数组的第一个元素。"插入算法的核心思想是取未排序区间中的元素,在已排序区间中找到合适的插入位置将其插入,并保证已排序区间数据一直有序。重复这个过程,直到未排序区间中元素为空,算法结束小规模数据或者基本有序的数据十分高效 代码实现 public void testSort(int[] lis...原创 2020-02-20 00:31:31 · 114 阅读 · 0 评论 -
排序算法之快速排序
算法思想 选择排序算法的实现思路有点类似插入排序,也分已排序区间和未排序区间。但是选择排序每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 代码实现 public void testSort(int[] list) { for (int i = 0; i < list.length; i++) { int val = list...原创 2020-02-19 23:42:07 · 837 阅读 · 1 评论 -
排序算法之冒泡排序
排序思想 冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作 代码实现 public void testSort(int[] list) { // i 从 0 开始遍历 for (int i = 0; ...原创 2020-02-19 23:36:36 · 159 阅读 · 0 评论