![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
caiojie_lucky
要做到多么努力,才能看起来毫不费力
展开
-
直接插入排序
1.排序思想:初始假设一个数组的第一个元素自成一个 有序序列,其余元素为无序序列,然后依次将无序序列的元素插入有序序列的适当位置中,直到最后一个记录插入为止。 2.代码实现:import java.util.Arrays; public class InsertSort { public static void insertSort(int[] array,int n){原创 2017-07-27 11:30:08 · 177 阅读 · 0 评论 -
排序概论——选择排序
常见的排序:选择排序,直接插入排序,冒泡排序,堆排序,快速排序,归并排序 接下来的几篇博客,我将挨个介绍每种排序算法的思想,实现,空间复杂度,时间复杂度以及每种之间的异同点 一、选择排序 1.思想:给定一组记录,第一轮遍历得到最小的记录,将该记录与第一个记录的位置进行互换,接着将不包含第一个记录的所有记录遍历再得到一个最小值,该记录与第二个位置的记录互换,重复该过程,知道进行比较的记录只剩原创 2017-07-27 11:35:27 · 197 阅读 · 0 评论 -
冒泡排序
三、冒泡排序 1.算法思想:通过相邻两元素的比较,将最大或最小值移到最前面(从最后一个元素开始比较)。 注:将最大或最小值移到最后面是从第一个元素开始比较。 2.代码实现:import java.util.Arrays; public class BubbleSort { public static void bubbleSort(int[] array,int n){原创 2017-07-27 11:39:43 · 140 阅读 · 0 评论 -
归并排序
1、算法思想:归并排序是分治思想的应用,分而治之,将待排序序列分为若干个子序列,对每个子序列进行排序。然后通过递归将有序子序列合并为整体有序序列 。 2、代码实现:import java.util.Arrays; public class MergeSort { public static int[] Sort(int []array,int low,int high){原创 2017-07-27 11:55:05 · 170 阅读 · 0 评论 -
快速排序
快速排序原创 2017-07-27 17:23:43 · 154 阅读 · 0 评论 -
堆排序
private static void heapSort(int[] array, int length) { int end=length-1; while(end>1){ while(true){ int p=end/2; int tag=0; while(p>=0)原创 2017-09-17 16:33:04 · 124 阅读 · 0 评论