java - 如何将LinkedList中定义元素之前的所有元素移动到尾部?

标签 java queue linked-list tail

我对用于实现队列的 LinkedList 有疑问。如何将定义元素之前的所有元素移动到尾部?假设我需要将第三个元素之前的所有元素移动到尾部(请参见下面的示例)。这意味着数字12应该移到尾部以获得:3->4->1->2

是否可以执行类似于 list1.moveToTheTail(startElem,endElem); 的操作,其中 startElemendElem 指示元素的边界移到尾部?

导入java.util.LinkedList;

public class Test {
    public static void main(String[] args) {
        LinkedList<Integer> list1 = new LinkedList<Integer>();
        list1.addLast(1);
        list1.addLast(2);
        list1.addLast(3);
        list1.addLast(4);
        list1.
        System.out.println(list1);
    }
}

最佳答案

不,没有这样的功能..很遗憾,因为从前到尾的操作只是将“指针”更改为第一个元素。

但是您想要一个函数也从列表中间移动......我们开始:

public static void moveToTail(LinkedList<?> list,int startElement, int endElement) {
    if (startElement <0 )
        return ;
    if (endElement < startElement)
        return;
    if (endElement >= list.size())
        return;
    for(int i = startElement ; i < endElement ; ++i) {
         //yeah it has to be startElement and not i
         list.addLast(list.remove(startElement));
    }
}

关于java - 如何将LinkedList中定义元素之前的所有元素移动到尾部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8961355/

相关文章:

java - 使用 Liferay 根据 LDAP 中的用户配置文件将用户添加到用户组

azure - 将类型化对象添加到 Azure 中的 MessageQueue

asynchronous - 为 ch.qos.logback.classic.AsyncAppender 设置 queueSize 参数

C 链表按排序方式插入元素

c++ - 链接 ArrayList 实现

Java - 检查字符串的ArrayList是否按字母顺序排列

java - 为基于 JVM 的 OSS 项目提供免费的 CI 服务器托管或服务

c - 请告诉我我的错误

java - 巨型链表的遍历

java - 使用 HTTPServletRequest 将参数从 servlet 传递到 jsp return null