排序算法
Lb_CsdnJava
只要奋斗,一切皆为美好!
展开
-
归并排序(Java)
原理: 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 代码实现: public void mergeSort(int[] array){ merg...原创 2020-02-23 16:50:05 · 112 阅读 · 0 评论 -
冒泡排序和快速排序(Java)
冒泡排序 原理: 在无序区间,通过相邻数之间的比较,将无序区间最大的数冒泡到无序区间的末位,持续这个过程,直到数组整体有序。 代码实现: public void bubbleSort(int[] array){ for(int i = 0;i < array.length-1;i++){ boolean isSorted = true; for(int j = 0;j &l...原创 2020-02-23 15:48:17 · 222 阅读 · 0 评论 -
直接选择排序和堆排序(Java)
直接选择排序 原理: 每一次从无序区间选出最大(或最小)的一个元素,存放在无序区间的最后(或最前),直到全部待排序的数据元素排完 。 代码实现: public void selectSort(int[] array){ for(int i = 0;i < array.length-1;i++){ int minIndex = i; for(int j = i+1;j < ...原创 2020-02-22 22:40:25 · 154 阅读 · 0 评论 -
直接插入排序和希尔排序(Java)
直接插入排序 原理: 整个数据被分为有序区间 (初始区间元素为第一个数据) 和无序区间(初始区间元素包括第一个以外的所有数据)。 排序规则:每次选择无序区间的第一个元素,在有序区间内选择合适的位置插入。 代码实现: public void insertSort(int[] array){ for(int i = 1;i < array.length;i++){ //i为每轮排序...原创 2020-02-22 16:37:55 · 173 阅读 · 0 评论