私はプログラミングの初心者です。私はjavaでリンクリストを実装しようとしていますが、n番目の位置に要素を挿入する関数を記述しようとしましたが、その位置の前にデータを表示していないことが正しく機能していません。あなたには愚かな質問や間違いのように見えるかもしれませんが、私は初心者ですから、あなたの答えが役立ち、それは高く評価されます。リンクリストのn番目の位置にノードを挿入する方法
ありがとうございました。
コードは以下のとおりです。
class Node{
int data;
Node next;
Node(){
data=0;
next=null;
}
}
class LinkedList{
Node head;
LinkedList(){
head=null;
}
void pushB(int item){
Node temp=new Node();
temp.data=item;
temp.next=null;
if(head==null){
head=temp;
}
else{
temp.next=head;
head=temp;
}
}
void pushnth(int item, int pos){
Node cur=new Node();
cur.data=item;
cur.next=null;
Node temp=head;
int i=0;
while(i<pos-1){
temp=temp.next;
i++;
}
cur.next=temp;
head=cur;
}
void print(){
if(head==null){
System.out.println("List empty");
}
else{
Node temp=head;
while(temp!=null){
System.out.println(temp.data);
temp=temp.next;
}
}
}
}
public class MyFirstJavaProgram {
public static void main(String []args) {
System.out.println("Hello World");
LinkedList l1=new LinkedList();
l1.pushB(90);
l1.pushB(80);
l1.pushB(70);
l1.pushB(60);
l1.pushB(50);
l1.pushB(30);
l1.pushB(20);
l1.pushB(10);
l1.pushnth(40,4);
l1.print();
}
}
ありがとうございます@エラン。わかった。 – Parvez
ここでは頭を修正するのではなく、頭がどのように私たちに修正されたリストを与えているのですか。 – Parvez
@Parvez新しいノードを(pushBで行う)最初のノードにしたい場合にのみ、頭を修正します。真ん中に要素を追加すると、リスト内のノードxのx.nextを変更してリストを変更します。 – Eran