algorithm – 排序值,但仅限于它们比当前顺序多X

我一直在搜索Google(当然还有堆栈溢出!),以便按值对整数列表进行排序,还可以使用额外的因子.我想要实现某种算法来实现.到目前为止,我在Delphi 2007中有一个数组,它将值从最大值分类到最小值,但现在我希望它对列表中的前一个数字仅比X数字排序的值排序.

例如,值5,7,25,15当前被分类为25,15,5.我现在尝试获得的顺序,X值为5,是25,5,7.你可以看到,5和7没有切换位置,因为它们之间的差异不超过5.

不确定我是否特别好解释这一点,但这是一般的想法.

一个例子是值10,40,18,20,16,28.排序,它们应该是40,28,10.18,20和16没有移动,因为再次,那里每个数字之间不超过5.

其背后的想法是,与数字相关联的项目(例如,订购的次数)不会一直变化,因为只有1或2的差异.例如,如果列表中的大多数频繁订购的纸张通过购买的频率显示在网页上,然后特定类型纸张的订单仅在用户订购超过下一次最常频率五倍以上时才会改变.

希望这是有道理的,谢谢你的时间!

解决方法

我认为你的要求导致了非常奇怪的结果.最终,您可以使用排序顺序,其中项目的排序方式完全错误,排序方式取决于它们的变化方式.

我认为你需要建立价值观的“阶级”(使用百分位?),然后在每个阶级中按字母顺序对报纸进行排序.

例如:几乎没有订购(90%的纸张订购超过这一份),低于中位数(50%的报纸订购超过这些),高于中位数,前10名(按订单数量排序).

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...