[英]Insert generic element at a specific index in Doubly linked List java
我的雙向鏈表 class 中有一個 function 來插入一個給定索引的元素。 所以我做了一些不起作用的代碼。他們說的錯誤是“無法讀取字段“prev”,因為“current”為空”。
這是我的代碼:
public void add(int key, E data){
if(key<0 || key>size){
return;
}
else{
Node current = head;
if (key==0){
Node newLink = new Node(data);
if (size==0)
tail = newLink;
else
head.prev = newLink;
newLink.next = head;
head = newLink;
}
else{
for(int i=0;i<key;i++){
current= current.next;
}
Node newNode= new Node(data);
newNode.next=current;
newNode.prev=current.prev;
size++;
}
}
}
請幫助我如何解決這個問題。
我在您提供的代碼中看到了一些問題。 首先,您不會在每個需要的地方都增加尺寸。 其次,推進電流的 for 循環比需要的更進一步。
這是我的看法:
public void add(int key, E data){
if(key<0 || key>size)
return;
Node current = head;
if (key==0){
Node newLink = new Node(data);
if (size==0)
tail = newLink;
else
head.prev = newLink;
newLink.next = head;
head = newLink;
} else{
for(int i=0;i<key-1;i++){
current= current.next;
}
Node newNode= new Node(data);
newNode.next=current;
newNode.prev=current.prev;
}
size++;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.