+ 3
I need help with linked list in java [Data structures]
Hello everyone, I inserted a new node at the beginning of the linked list but i am not able to print it's data. It still says null Please guide me where i am doing wrong. Thank you! //initial head head = null //after inserting node - 30 at the beginnnig [30]-->null | head //after inserting node - 20 at the beginnnig [20]-->[30]-->null | head //after inserting node - 10 at the beginnnig [10]-->[20]-->[30]-->null | head Code: https://code.sololearn.com/cmYn9tuKj7Ng
9 Answers
+ 3
Edwin Simply pass the newly created temp node to the head in the function before returning.
https://code.sololearn.com/c1bi2PzuFQZc
+ 2
your idea is this:
Node temp = new Node(x);
temp.next = head;
head = temp; // added
return head;
then print
System.out.println(head.data);
System.out.println(head.next.data);
System.out.println(head.next.next.data);
+ 1
you are passing object head of null value and getting same head object which is null.
Node head = new Node(2);
first create a head node.. you get 2 as output..
or else
if you return temp, you get last object value 50.
+ 1
Jayakrishna🇮🇳 initially node head can be defined as null. It doesn't really has to be set with a value always.
Check out this
https://www.log2base2.com/data-structures/linked-list/inserting-a-node-at-the-beginning-of-a-linked-list.html
+ 1
@Jayakrishna🇮🇳
I'm expecting the last node value to be printed i.e 50
head = insertStart(head, 23);
head = insertStart(head, 30);
head = insertStart(head, 50);
Even if I create a node with a value at the start, it's value isn't changing.
If i understand you correctly:
Node head = new Node(2);
head = insertStart(head, 23);
head = insertStart(head, 30);
head = insertStart(head, 50);
System.out.println(head.data);
//it prints 2 because the head reference is not changed
+ 1
@zemiak Yes, you are right. I figured it out thank you.
+ 1
Lambda you may not understood my point. It should get a head.data value immediately after a node inserted. But op code is null all time.
initially any node is null default, not only head..!!
Edwin
Yes.
head = temp ; will solve the problem..
But you replacing previous head data with current one I think..
So you may get trouble in access later I think..
Hope it helps..
Edit:
Oh. It solved. 👍
0
@Jayakrishna🇮🇳 initially node is defined as null. While inserting the values at the beginning of the linked list head changes its next reference to the return node by temp node.
0
Yes. But head also need to set a value for its data.. If head have no data, then it's no meaning to creates nodes.. what is your expected head.data value?