Merge Sort :归并排序:用递归的思想,分解成单个元素的排序,在归并 代码: import java.util.*; public class MergeSort { public static void main(String[] args) { System.out.println("Hello World!"); int [] a = {3,44,38,5,47,15,36,26,27,2,46,4,19,50,48}; mergeSort(a,0,14); //Syst…
代码实现: public void insertionSort(List<T> list, Comparator<T> comparator) { for (int i=1; i<list.size(); i++) { T elt_i = list.get(i); int j = i; while (j>0) { T elt_j = list.get(j-1); if (comparator.compare(elt_i,elt_j)>=0) { break; }…
Java String 源码的排序算法 一.前言 Q:什么是选择问题? 选择问题,是假设一组 N 个数,要确定其中第 K 个最大值者.比如 A 与 B 对象需要哪个更大?又比如:要考虑从一些数组中找出最大项? 解决选择问题,需要对象有个能力,即比较任意两个对象,并确定哪个大,哪个小或者相等.找出最大项问题的解决方法,只要依次用对象的比较(Comparable)能力,循环对象列表,一次就能解决. 那么 JDK 源码如何实现比较(Comparable)能力的呢? 二.java.lang.Compar…