MergeSort_Algorithm_Demo

首先呢我们要介绍一下什么是归并排序:

百度百科:

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。

归并操作的工作原理如下:

第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列
第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置
第三步:比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置
重复步骤3直到某一指针超出序列尾
将另一序列剩下的所有元素直接复制到合并序列尾

环境介绍:

  • 语言:Java
  • 使用JDK:java 1.8
  • 工具:eclipse或者IDEA都可。
  • 主要技术:Swing awt

我们这里不介绍swing和awt的实现,而是直接借用模板来操作。模板中封装好了需要的一些简要实现。
需要的可以在这里下载模板源代码。

https://gitee.com/xiangzi1019/template_code/tree/master

首先介绍一下模板:

1.主要包含了一个框架AlgoFrame,其中内容主要用于绘制内部信息,和双缓存的实现。
2.AlgoVishelper看名称也可以知道,主要封装了一些帮助函数,例如绘制实体或者空心的圆、矩形、颜色等函数
3.AlgoVisualizer主要就是视图可见的操作,例如你想事先声明功能都可以写在这里,然后调用数据和帮助类就可以实现。

导入文档包之后呢,我们就先操作AlgoVisualizer类。我们根据我们的需求实现

感谢您的鼓励.如果喜欢可以送我一包辣条。