排序算法--java
墨白hu
这个作者很懒,什么都没留下…
展开
-
排序算法2_冒泡排序
冒泡排序(稳定排序,O(n^2)):比较相邻的两个数,最后使数据由小至大排序。class BubbleSort{ public static void main(String [] args) { int[] a={23,54,21,53,16,49,26,30,18}; System.out.print("排序前:"); for(int i=0;i<a.length-1;i+原创 2017-09-20 12:09:52 · 269 阅读 · 0 评论 -
排序算法1_直接插入排序
概述: 排序分为两大类,内部排序和外部排序,内部排序指的是待排序记录存放在计算机随机存储器中进行排序过程,外部排序指的是待排序记录数量很大,以致内存不能一次容纳全部记录,在排序过程中尚需对外存进行访问的排序过程,这里我主要给出内部排序: 其中稳定排序:插入排序、冒泡排序、归并排序、基数排序。直接插入排序:基本操作是将一个记原创 2017-06-06 15:50:17 · 388 阅读 · 0 评论 -
排序算法4_快速排序
快速排序快速排序是对冒泡排序的改进,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录关键字都比另一部分关键字小,然后分别对这两部分记录继续排序,以达到整个序列有序。 任意选取一个数据(通常是第一个数)作为关键数据,然后将比他小的放前面,大的放后面。 class QuickSort{ public static void main(String [] args){原创 2017-10-06 13:35:21 · 248 阅读 · 0 评论 -
排序算法3_希尔排序
希尔排序希尔排序是插入排序的一种,也称作“缩小增量排序”,具体做法如下: 先将要排序的一组数按照某个增量d(d=n/2)分成若干组,每一组记录的下标相差d,对每组中的数进行直接插入排序,然后再用更小的d(d=d/2)分组,直到d=1,进行直接插入排序后,排序完成。class ShellSort{ public static void main(String [] args){原创 2017-10-06 12:41:34 · 391 阅读 · 0 评论