在双向链表中的特定索引处插入泛型元素,可以通过以下步骤实现:
以下是一个示例代码:
public class DoublyLinkedList<E> {
private class Node {
private E data;
private Node prev;
private Node next;
public Node(E data) {
this.data = data;
this.prev = null;
this.next = null;
}
}
private Node head;
private Node tail;
public DoublyLinkedList() {
this.head = null;
this.tail = null;
}
public void insertAtIndex(E element, int index) {
if (index < 0 || index > size()) {
throw new IndexOutOfBoundsException("Invalid index");
}
Node newNode = new Node(element);
if (index == 0) {
newNode.next = head;
if (head != null) {
head.prev = newNode;
}
head = newNode;
if (tail == null) {
tail = newNode;
}
} else if (index == size()) {
tail.next = newNode;
newNode.prev = tail;
tail = newNode;
} else {
Node current = head;
for (int i = 0; i < index - 1; i++) {
current = current.next;
}
newNode.next = current.next;
newNode.prev = current;
current.next.prev = newNode;
current.next = newNode;
}
}
public int size() {
int count = 0;
Node current = head;
while (current != null) {
count++;
current = current.next;
}
return count;
}
}
这是一个简单的双向链表实现,可以通过调用insertAtIndex
方法在特定索引处插入泛型元素。注意,这只是一个示例,实际应用中可能需要根据具体需求进行修改和扩展。
腾讯云相关产品和产品介绍链接地址:
请注意,以上仅为腾讯云的一些相关产品,其他云计算品牌商也提供类似的产品和服务。
领取专属 10元无门槛券
手把手带您无忧上云