在javascript数组可以把某个元素置顶,置顶的意思就是变成数组第0位,然后我也要可以复原回原来的位置 比如[1,2,3,4] 置顶[3]后变成[3,1,2,4], 置顶4后变成[4,3,1,2] ,然后复原[4]变成[3,1,2,4]然后复原[3]变成 [1,2,3,4]怎么实现呢?
注意⚠️:复原的元素可以是任意的置顶元素,例如上面例子先复原[3]变成[4,1,2,3],再复原[4]变成[1,2,3,4]
在javascript数组可以把某个元素置顶,置顶的意思就是变成数组第0位,然后我也要可以复原回原来的位置 比如[1,2,3,4] 置顶[3]后变成[3,1,2,4], 置顶4后变成[4,3,1,2] ,然后复原[4]变成[3,1,2,4]然后复原[3]变成 [1,2,3,4]怎么实现呢?
注意⚠️:复原的元素可以是任意的置顶元素,例如上面例子先复原[3]变成[4,1,2,3],再复原[4]变成[1,2,3,4]
13 回答13k 阅读
8 回答2.7k 阅读
2 回答5.2k 阅读✓ 已解决
7 回答2.1k 阅读
5 回答1.3k 阅读
3 回答2.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
可以考虑用一个栈来维护位置信息,在置顶操作时,记录下当前置顶元素的原始位置,压入栈中,在复位时,栈顶就是当前置顶元素的原始位置。
代码如下: