我有一个包含任务的表,我想根据任务的优先级对这些任务进行明确的排序。我能想到的唯一方法是通过uniqueint 列,根据优先级对任务所在位置进行索引(即 1 为前 1000 为低)。
问题是,假设我想更新任务并将其优先级设置为较低的值,我将必须更新其当前值和新值之间的所有其他行。
谁能提出更好的实现方法?
使用实数值作为优先级。您始终可以使用类似的方法在两个现有值之间滑动一个值newPri = task1Pri + (task2Pri - task1Pri)/2
其中任务 1 具有较低优先级数值(可能是较高优先级)。
Corin 指出,必须为插入优先级列表顶部或底部的任务计算最小和最大优先级。
乔尔哈迪提醒我们reorder时不时地清理桌子是个好主意。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)