Javascript 如何设置合并排序可视化的动画/绘制?

Javascript 如何设置合并排序可视化的动画/绘制?,javascript,mergesort,algorithm-animation,Javascript,Mergesort,Algorithm Animation,我想为我的排序可视化工具设置合并排序算法的动画,但问题是,与其他一些算法不同,合并排序是递归的,因此您可以通过传递原始数组的一段来不断地从函数内部调用函数。当我尝试绘制它时,问题出现了,因为我无法绘制较小的数组,但我必须不断更新原始数组。我不知道该怎么做,因为要绘制流程,我需要对原始数组有效的特定值的索引,而不是较小的数组。有人有想法或解决方案吗?您可以通过编写mergesort将原始数组和索引值传递给正在排序的切片来实现您的目标 下面是一个javascript示例: 函数合并(a、lo、m、h

我想为我的排序可视化工具设置合并排序算法的动画,但问题是,与其他一些算法不同,合并排序是递归的,因此您可以通过传递原始数组的一段来不断地从函数内部调用函数。当我尝试绘制它时,问题出现了,因为我无法绘制较小的数组,但我必须不断更新原始数组。我不知道该怎么做,因为要绘制流程,我需要对原始数组有效的特定值的索引,而不是较小的数组。有人有想法或解决方案吗?

您可以通过编写mergesort将原始数组和索引值传递给正在排序的切片来实现您的目标

下面是一个javascript示例:

函数合并(a、lo、m、hi){
var tmp=[];
var len=m-lo;
变量i,j,k;
//保存左子数组
对于(i=0;i>1);
合并排序(a、lo、m);
合并排序(a、m、hi);
合并(a、lo、m、hi);
}
}

Hi!欢迎使用Stackoverflow!这有点难回答,因为我们不知道您的实现的细节。您能提供更多关于如何实现的细节吗?当然,我正在Angular中使用chart.js创建条形图,并且我正在剥离此条形图的所有细节,以仅表示具有特定颜色的普通条形图。每次我对数据进行更改,我更新图表,每次迭代都会有延迟,因此用户可以看到每次迭代,因为它是可视化的。数据连接到图表,我正在排序的数据是将数据馈送到条形图的数组。