【发布时间】:2013-11-02 18:31:48
【问题描述】:
我有一本这样的字典:{a:0, b:1, c:2}。实际上,字段名称和它在表中的顺序。我需要采用这种结构,以便(例如)如果 b 的位置变为 0,则结果为{b:0, a:1, c:2}。如果 b 的位置变为 2 则结果必须是 {a:0, c:1, b:2} 等等...
如何做到这一点?我不能使用内置函数(如果有的话),因为该字典中的每个字段都取自更复杂的结构。我基本上只能遍历这个字典,排序与否,改变位置值。
我使用 Javascript/Coffeescript,但这没关系 - 我会欣赏任何语言的想法。
【问题讨论】:
-
因此,如果您有
k条目,那么您将只有从0到k-1的值? -
是的。最好。无论如何,我可以按索引对结构进行排序,然后遍历它并将 i++ 应用为位置,以便 1,2,5 变为 0,1,2(例如)。但如果这可以在第一次(也是唯一一次)迭代期间完成,那就更好了。
-
k的数量级是多少?该函数需要多久调用一次?
标签: javascript algorithm sorting data-structures dictionary