![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
Emperor_Hd
这个作者很懒,什么都没留下…
展开
-
Java冒泡排序
在Java中有很多排序算法,其中最经典的要数冒泡排序了,由于有时会忘记这些排序是怎么实现的,所以在此记录一下。 public class BubbleSort { public static void main(String[] args) { int[] arr = {50,15,56,23,54,84,58,45,21}; for(int i = 0; i < ar...原创 2019-06-20 17:16:08 · 3164 阅读 · 0 评论 -
Java选择排序
选择排序算法步骤: 首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。 再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。 重复第二步,直到所有元素均排序完毕。 Java代码实现: public class SelectionSort { public static void main(String[] args) { int[] arr = {50,15...原创 2019-06-21 09:44:12 · 1452 阅读 · 0 评论 -
Java插入排序
插入排序是十大经典排序算法之一,它的原理很简单,就跟打扑克牌时整理牌的原理是一样的:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 算法步骤 将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。 从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插...原创 2019-06-21 11:08:53 · 520 阅读 · 0 评论 -
Java希尔排序
希尔排序也是十大经典排序算法之一,其原理和代码实现都不太好理解,要结合图才容易理解(可以参考这里)。 算法步骤 它通过比较相距一定间隔的元素大小先排序,然后每次比较所用的距离随着算法的进行而减小,知道只比较相邻元素的最后一趟排序位置,算是插入排序的升级版。 代码实现 public static void main(String[] args) { int[] arr = {50,15,56,...原创 2019-06-21 16:52:03 · 579 阅读 · 0 评论 -
Java归并排序
算法步骤 通过sort方法将数组分成两份,并不停的递归直至数组大小为1,然后通过merge方法将两个数组合并排序,并不停递归回去,直至数组排序完成。 代码实现 sort方法:不停的将数组分成两组,直至数组大小为1,然后通过merge排序,并不停递归回去,直至数组排序完成 public int[] sort(int[] sourceArray) throws Exception { //对 a...原创 2019-06-24 10:48:36 · 104 阅读 · 0 评论 -
Java快速排序
算法步骤 从数列中挑出一个元素,称为 “基准”(pivot) 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序 代码实现 调用quickSort方法,将数组,数组首位...原创 2019-06-24 14:29:35 · 124 阅读 · 0 评论