![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序算法
Mazhitaoooo
生活不止眼前的苟且,还有诗和远方的田野!
展开
-
插入排序
直接插入排序 直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增一的有序表。 整个排序过程为进行n-1趟插入,即:先将序列中的第一个记录看成是一个有序的子序列,然后从第二个记录起逐个进行插入,直至整个序列变成按关键字非递减有序序列为止。JAVA代码实现:public static void insertSort(int[原创 2017-09-06 08:21:53 · 326 阅读 · 0 评论 -
快速排序算法及JAVA实现
起泡排序起泡排序(Bubble Sort)的过程很简单。首先将第一个记录的关键字和第二个记录的关键字进行比较,若为逆序,则将两个记录交换之,然后比较第二个记录和第三个记录的关键字。依次类推,直至第n-1个记录和第n个记录的关键字进行比较为止,这是第一趟起泡排序,结果使得最大的关键字被安置到最后一个位置上;然后进行第二趟起泡排序,进行n-2次比较。判别起泡排序结束的条件应该是“在一趟排序过程中没有进行原创 2017-09-06 22:47:24 · 262 阅读 · 0 评论 -
选择排序
简单选择排序简单选择排序(Simple Selection Sort)的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。一趟简单选择排序的操作为:通过n-1次关键字间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i(1<=i<=n)个记录交换之。JAVA代码实现:public static int[] select(int[] a原创 2017-09-07 18:23:30 · 183 阅读 · 0 评论 -
归并排序和几种内部排序的比较
归并排序归并排序(Merging Sort) 归并的含义是将两个或两个以上的有序表组合成一个新的有序表。 基本思想:假设初始序列含有n个记录,则可看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到【n/2】个长度为2或1的有序子序列;再两两归并,…,如此重复,直至得到一个长度为n的有序序列为止,这种排序叫2-路归并排序。说明:归并排序的时间复杂度为O(nlogn),它是一种稳定的排序原创 2017-09-07 18:43:07 · 1644 阅读 · 0 评论