排序算法
假装自己不胖
这个作者很懒,什么都没留下…
展开
-
基数排序
基数排序 基数排序就等于优化版本的桶排序,在针对一些特定值的时候.效率比较高.比如电话号码.一些码之类的 public class RadexSort { public static void main(String[] args) { int[] arr = {6, 1, 8, 7, 9, 5, 4, 78, 26, 31, 54, 74}; sort...原创 2020-01-02 17:03:14 · 119 阅读 · 2 评论 -
桶排序
桶排序 等于是分而治之的思想,把最大值和最小值查出来,然后分成顺序等额的几份,然后进行进桶,然后桶内排序,最后直接按照顺序取出即可,是技术排序的优化方案 public class BucketSort { public static void main(String[] args) { int[] arr = {6, 1, 8, 7, 9, 5, 4, 78, 26,...原创 2020-01-02 16:43:01 · 66 阅读 · 0 评论 -
计数排序
计数排序 就是先把数组中最大的数查找出来,然后以最大的数a+1为新数组的数量,在新数字中,原数组的值就是新数组的下标,原数组值出现的个数就是新数组对应对标的值.最后遍历新数组,就能按顺序拿出,但是可能耗内存比较多,但是不需要比较.比较快 public class CountSort { public static void main(String[] args) { i...原创 2020-01-02 15:23:53 · 74 阅读 · 0 评论 -
堆排序
堆排序 堆排序就是把数组构建成一个堆,然后在里面取出堆顶数据,把剩余数据构建成一个堆,再取,再构建,再取,直到结束,就能输出一个有序的数组 public class HeapSort { public static void main(String[] args) { int[] arr = {6, 1, 8, 7, 9, 5, 4, 78, 26, 31, 54, 7...原创 2020-01-02 14:54:31 · 60 阅读 · 0 评论 -
快速排序
快速排序 基本概念:就是在数组里面随便取一个元素.比这个大的都放右边,小的都放在左边,然后再从左右两边,各取一个元素,直到左右两边的个数为0,截止 public class QuickSort { static int [] arr = {6,1,8,7,9,5,4,78,26,31,54,74}; public static void main(String[] args...原创 2020-01-02 14:37:48 · 70 阅读 · 0 评论 -
归并排序
归并排序 基本思路:就是把数组不断用二分法分成最小的单位,然后再一个一个归起来,排序 public class MergeSort { public static void main(String[] args) { int[] arr = {6, 1, 8, 7, 9, 5, 4, 78, 26, 31, 54, 74}; sort(arr); ...原创 2020-01-02 14:22:41 · 91 阅读 · 0 评论 -
希尔排序
希尔排序 希尔排序是插入排序的优化方案.主要是设定一个值a,然后把数组分成n组.每组a个,一组数据位置之间的间隔刚好是a,然后按组插入排序之后,把a变小,直到a变成1,这时候的数组顺序就趋近于排好序的情况,只需要细微的调整即可 public class ShellSort { public static void main(String[] args) { int[]...原创 2019-12-30 12:01:10 · 63 阅读 · 0 评论 -
插入排序
插入排序 插入排序就是默认前面的已经排好序了,然后自己比如是第三位的数3,先和第二位的比,如果第二位的比较大,则第二位往后排一位(第三位).然后再和第一位比较,如果第一位的比较大,则第一位往后排一位(第二位),然后往前已经没有数了,所以3就可以放在第一位,否则就放在第二位 插入排序对数据的调换操作比较多,也可能不需要调换,只需要一次遍历即可 public class InsertionSor...原创 2019-12-29 23:43:14 · 65 阅读 · 0 评论 -
选择排序
选择排序 选择排序就是每次都找,但是每次都只找出最小的那个数的位置,并将它放在最前方,然后在第二个位置接着往下判断 和冒泡排序的差别就在于,选择排序每次只找出最小的那个,而冒泡则是在不停的更换中 public class selectionSort { public static void main(String[] args) { int[] arr = {1, 3...原创 2019-12-29 23:16:04 · 85 阅读 · 0 评论 -
冒泡排序
冒泡排序 一般来说冒泡排序是最简单,也是最直观的方法, 原理:就是将集合里面所有的数和其他的数进行比较,比如第0位和第一位比较,然后和第二位,直到结束,如果前者比后者大的话,就进行位置上的调换. public class BubbleSort { public static void main(String[] args) { int [] arr = {1,3,5,6...原创 2019-12-29 22:59:21 · 60 阅读 · 0 评论