基本思想
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。
首先考虑下如何将2个有序数列合并。这个非常简单,只要从比较2个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。
java代码实现
1 | public static void merge_sort(int a[],int first,int last,int temp[]){ |
1 | //合并 :将两个序列a[first-middle],a[middle+1-end]合并 |