gpt4 book ai didi

algorithm - 这种排序算法的名称是什么?

转载 作者:行者123 更新时间:2023-12-05 08:03:11 26 4
gpt4 key购买 nike

所以,我从事工业自动化工作,通常使用梯形逻辑编程。因此,与我认为的正常编程相比,它相当奇怪。无论如何,我需要从最小到最大对数字列表进行排序。我正在研究排序算法,试图找到一种我可以使用梯形逻辑轻松实现的算法。我遇到了困难,但经过一番思考后,我想出了一些甚至不在维基百科排序算法列表中的东西。嗯,可能是,但我找不到。我知道这不是非常有效的排序算法,但它确实有效。如果它有的话,我想知道它的名字。

这个的基本版本是,想象一个数字数组。取列表中的第一个数字并将其与列表中的所有其他数字进行比较,计算它比任何其他数字大的次数。此累加值是它在输出数组中所在位置的索引号。要将它放在数组中,请检查是否已经有内容写入该位置,如果有则将其添加到索引并再次检查,直到该位置没有任何内容。当找到空白点时,将其写入输出数组。一旦你对列表中的每个数字都这样做了,你将得到一个与输入大小相同的输出数组,但它是从小到大排序的。我应该注意,这是假设该语言使用基于零的索引。

如果这还不够清楚,我很乐意在需要时进一步阐述。

最佳答案

我会说这是 counting sort 的一个更糟糕的版本:

It operates by counting the number of objects that possess distinct key values, and applying prefix sum on those counts to determine the positions of each key value in the output sequence

所以它基本上与您正在做的事情相同:使用计数将每个元素置于其最终位置。计数排序使用一个数组来存储所需的计数,您迭代该数组以在当前元素的每一步找到它们。

我认为您的确切算法没有名称。

关于algorithm - 这种排序算法的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73421060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com