![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
排序系列
文章平均质量分 59
busy747401969
这个作者很懒,什么都没留下…
展开
-
排序系列之冒泡排序
冒泡排序(BubbleSort)的基本概念是: 依次比较相邻的两个数,将小数放在前面,大数放在后面。 即在第一趟: 首先比较第1个和第2个数,将小数放前,大数放后。 然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。 至此第一趟结束,将最大的数放到了最后。 在第二趟: 仍从第一对数开始比较(因为可能由于第2个数和第3个数的交原创 2012-11-02 12:31:54 · 228 阅读 · 0 评论 -
排序系列之选择排序
选择排序的概念: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。public class SelectSort { public final static void swap(int a[], int i, int j) { int temp = a[i]; a[i] = a[j]; a[j] = tem原创 2012-11-02 15:32:34 · 198 阅读 · 0 评论 -
排序系列之直接插入排序
直接插入排序(Straight Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,将它插入到有序表中的适当位置,使之成为新的有序表,重复n-1次可完成排序过程。 public class InsertSort { public final stat原创 2012-11-02 15:54:33 · 275 阅读 · 0 评论 -
排序系列之堆排序
堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。 public class HeapSort { public final static void heapSort(int a[]){ new MiniPriorityQueue(a); } private static class MiniPrio原创 2012-11-02 23:46:58 · 204 阅读 · 0 评论 -
排序系列之基数排序
基数排序原创 2012-11-02 23:49:54 · 227 阅读 · 0 评论 -
排序系列之二分插入法
近日因研究算法,二分插入算法也没有去实现过,故,今日发布一个我优化过的二分插入法 public static void binaryInsertSort(int a[], int low, int high) { for (int i = low; ++i < high;) { if (a[i - 1] <= a[i]) continue; int key = a[i];原创 2012-11-02 23:45:35 · 392 阅读 · 0 评论 -
排序系列之希尔排序
希尔排序(Shell Sort)是插入排序的一种。是针对直接插入排序算法的改进。该方法又称缩小增量排序。 public class ShellSort { public static void shellSortLg3(int a[]){ int length = a.length; int i = 1; for(;i<length;i=3*i+1); while(i>0){S原创 2012-11-02 23:47:47 · 181 阅读 · 0 评论 -
排序系列之归并排序
近日,因分跟老婆一个归并排序的实现,由于对其很熟悉,从没有自己实现过,就让老婆实现去了,谁知道,她写完自己都不是很清楚原理,故我自己实现之,发现归并排序居然每次要将排好的序列拷贝到另一个数组中,这样浪费的操作,故研究之,发现一个不要拷贝数据的优化处理和大家分享。 public static void insertSort(int a[], int low, int high) { for原创 2012-11-02 23:41:35 · 203 阅读 · 0 评论 -
排序系列之快速排序
快速排序java源代码 public class QuickSort { private static void sort1(int x[], int off, int len) { // Insertion sort on smallest arrays if (len < 7) { for (int i = off; i < len + off; i++){原创 2012-11-02 23:48:22 · 219 阅读 · 0 评论