假设界面上有20个元素,允许元素之间拖拽调整顺序,每个元素应该都有一个顺序号,那么每次拖拽后岂不是要在数据库中修改所有元素的顺序号?有没有好的设计可以每次拖拽一个元素放置后,只修改一次顺序号
假设界面上有20个元素,允许元素之间拖拽调整顺序,每个元素应该都有一个顺序号,那么每次拖拽后岂不是要在数据库中修改所有元素的顺序号?有没有好的设计可以每次拖拽一个元素放置后,只修改一次顺序号
问题提出来,可以自己先想想,然后再提问。
比如 20 个元素,那么序号就是 1~20。我把 20 拖到 1,那么 1->2,2->3,……所以就一定要修改 20 个元素的序号。
算法里面本来就要计算理想状况和不理想情况,程序要能覆盖最差的情况。
9 回答1.7k 阅读✓ 已解决
6 回答1.5k 阅读
3 回答1.4k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.1k 阅读
2 回答1.2k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
只改一次,除了上面说的二分插入。
还可以考虑一下顶部插入,只不过这样功能就变成了置顶。要不然就是交换?
从数据结构来讲,如果是连续的内存区域(可以
arr[13]
)这样获取的,当你想增删的时候就比较难受。链表的话比较方便这样操作,但是在查找的时候又比较困难。
所以我最后推荐,量少就全排。量多最好还是改成置顶交换之类的功能。从业务上来说应该是可以规避的。