- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我的 Java 应用程序中,以下两个都将编译和运行,并产生所需的结果。
//"Rotate" the list items one place to the left.
myLinkedList.addLast(myLinkedList.removeFirst());
反方向的“旋转”
//"Rotate" the list items one place to the right.
myLinkedList.addFirst(myLinkedList.removeLast());
两种“轮换”都只需要一行代码,但我想知道这是否是正确的方法?这种方法有什么缺陷吗?
是否有更好、更健壮、更不易出错的方法来完成与我上面相同的操作,这需要多行代码才能实现,如果有,请解释原因。
最佳答案
我觉得还好。如果您有一个真正已满 的循环缓冲区,您可以只移动“开始/结束”索引,但我认为链表方法会工作得很好。特别是它仍然是 O(1)。
关于Java - LinkedList 中的 "Rotating"对象 - LinkedList.addLast(LinkedList.removeFirst()) 是好编程还是坏编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3304129/
我正在寻找 Linq RemoveFirst(Predicate match)但只能找到RemoveAll . 我知道我可以编写自己的扩展方法,但想知道是否已经存在具有不同名称的等效函数,或者是否存在
我创建了一个应该删除数组的第一个元素的方法,但是当我运行我的代码时,调试器出现故障,我不确定为什么。 这是我的 removeFirst() 方法: Loan & ListOfLoans :: rem
我的 g++ 似乎不喜欢这个函数,我也不知道为什么。 我写它可能有错误,但我看不到编译器指示的错误。 我把相关部分粘贴在这里。 // STRUCT struct node { int data;
对于我的用例,我发现随着数组大小的增长,移位/切片方法对我的 CPU 造成了太多压力。理论上,该数组可能有 86400 个项目那么大,尽管通常它会小得多——大约 10000 个数组元素。 我试图用一个
我正在尝试使用列表执行removeFirst(),删除列表的第一个节点并返回删除的值。 这是我得到的: public E removeFirst() { E value=fir
我正在准备考试,并且对 Big Oh 表示法的时间复杂度有所了解。我得到了这个作为他们会问什么的例子,我很好奇你的想法是什么。我不确定这些是否是线性 O(n) 还是什么。如果你能帮助我,其中一些复杂性
我无法理解这个。 当我们调用 LinkedList.add() 时,我们将一个元素添加到列表的末尾,所以如果我们想用链表模拟堆栈,我们应该调用 LinkedList.removeLast( ) 为流行
C# 的 LinkedList 的 RemoveFirst() 和 RemoveLast() 操作不返回删除的值是否有一些惯用的、性能的或设计哲学的原因? 现在,如果我想读取并删除第一个值,我相信咒语
我正在尝试从 LinkedList 返回并删除第一个元素。下面是我可以看到的两个选项。 第一种方法: LinkedList servers = new LinkedList(); .... Strin
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 已关闭 7 年前。 Improve
struct Queue{ private var elements : [T] = [] public mutating func enqueue(_ element: T){
我刚刚从 MediaPlayer 切换到 Exoplayer,以便在游戏应用程序中播放背景音乐。在我的所有测试中,它似乎工作正常,但在部分发布后,我开始看到崩溃 crashalytics: NoSuc
在我的 Java 应用程序中,以下两个都将编译和运行,并产生所需的结果。 //"Rotate" the list items one place to the left. myLinkedList.a
运行 linux Mint 64 位,使用 Install4j 将 VTK JOGL JAVA 程序包装到 Linux 发行版,我在启动时遇到此崩溃: java.util.NoSuchElementE
ArrayDeque docs声明push(E)与 addFirst(E) 相同,和pop()与 removeFirst() 相同. 我认为使用 addLast(E) 可以达到相同的效果+ remov
我是一名优秀的程序员,十分优秀!