Sorting 有没有办法计算排序算法的进度?
我试图在shell排序的基础上进行主观排序。我指的是原始的(唐纳德·谢尔的)算法。我已经做了所有的逻辑,它与shell排序完全相同,但不是计算机计算什么更大,而是用户主观地确定什么更大。 但问题是,我想向用户显示一个百分比或一些东西,让用户知道它已经在排序中走了多远。这就是为什么我想找到一个了解它的方法 我试着在这里提问(),但也许上次我没有很好地表达自己,所以他们结束了提问。 我首先尝试将进度与shell排序中数组中的传递次数相关联。但最近,我注意到这不是一个固定的数字。因此,如果您知道如何以最佳方式显示排序进度,我将非常感谢 我做了这个公式,根据通过的次数按颜色显示,这是我能得到的最接近的,但它与颜色列表的最大范围并不完全匹配。 (省道/颤振代码)Sorting 有没有办法计算排序算法的进度?,sorting,math,dart,shellsort,Sorting,Math,Dart,Shellsort,我试图在shell排序的基础上进行主观排序。我指的是原始的(唐纳德·谢尔的)算法。我已经做了所有的逻辑,它与shell排序完全相同,但不是计算机计算什么更大,而是用户主观地确定什么更大。 但问题是,我想向用户显示一个百分比或一些东西,让用户知道它已经在排序中走了多远。这就是为什么我想找到一个了解它的方法 我试着在这里提问(),但也许上次我没有很好地表达自己,所以他们结束了提问。 我首先尝试将进度与shell排序中数组中的传递次数相关联。但最近,我注意到这不是一个固定的数字。因此,如果您知道如何以
List<Color> colors = [
Color(0xFFFF0000),//red
Color(0xFFFF5500),
Color(0xFFFFAA00),
Color(0xFFFFFF00),//yellow
Color(0xFFAAFF00),
Color(0xFF00FF00),
Color(0xFF00FF00),//green
];
[...]
style: TextStyle(
color: colors[(((pass - 1) * (colors.length - 1)) / sqrt(a.length).ceil()).floor()]
),
[...]
color: colors[(((pass - 1) * (colors.length - 1)) / (log(a.length) / log(2)).floor()).floor()]),