我有一个包含任务的表,我想根据任务的优先级给出这些明确的排序.我能想到的唯一方法是通过一个唯一的 int列来索引任务在优先级方面的位置(即1是top 1000是低).
问题是,我想更新任务并将其优先级设置为较低的值,我将不得不更新其当前值和新值之间的所有其他行.
任何人都可以提出更好的实施方法吗?
使用实数值作为优先级.您总是可以在两个现有值之间滑动一个值,例如newPri = task1Pri + (task2Pri - task1Pri)/2
,Task1具有较低优先级的数值(可能是较高的piority).
Corin指出,必须为插入优先级列表顶部或底部的任务计算最小和最大优先级.
joelhardi提醒我们,重新订购流程是不时清理桌面的好主意.