归并排序:
归并排序是利用归并的思想实现的排序算法,该算法采用经典的分治策略(分治法是将问题分成一些小的问题然后递归求解,而治的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。
基本思想:
分的阶段就是递归拆分子序列的过程,治的阶段就是将俩个有序的子序列合并成一个有序的序列。
动态图解:
Java代码实现:
import java.util.Scanner;
public class Merge_sort {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入数组的大小:");
Scanner input = new Scanner(System.in);
int a = input.nextInt();
int [] arr = new int[a];
for(int i = 0;i<arr.length;i++) {
System.out.println("请输入数组的第"+i+"个值:");
int s = input.nextInt();
arr[i] = s;
}
arr = MergeSort(arr,0,arr.length-1);
for(int i = 0;i<arr.length;i++)
System.out.print(" "+arr[i]+" ");
}
public s