You should add return; in the if(index==0) because it is going to continue doing everything after that code and it is going to put the element twice. The code should be like this: if(index==0) { insertAtStart(data); return; } Other than that, great video. It helped me a lot. Thanks.
Great Video! No doubt Just one improvement we can do in this. In insertAt() method try to put the if condition at the beginning of the line and after calling insertAtStart() method put a return statement. if(index == 0){ insertAtStart(data); return; } Edit: I saw in the next video you have made the correction and accepted your mistake. This makes you even greater!
Actually pointer can be seen if we see very carefully.I think it's better to change the background to cream colour so that the pointer would be highlighted more
Excellent video, it was very informative! Just to note (for others), in the insertAt(int data ) method, once we check if the index == 0 and if so we pre-append the data. At that point we have to type return; Because if not, the execution will still continue and add the value again in the for loop.
Great Video... just one thing--- diagram should be crystal clear while explaining or actually change the pointer of drawing pen in your MS paint as that is hardly visible.
Very nice explanation sir I feel very good while seeing this video because how well explained you it make me very clear and because of I watched your video able to make program of linked list feel very proud I pray to continue making this type of video which will help students like me to get knowledge and make them self and knowledgeable person thank you
Your channel has some really great content, but the way you speak is like playing the whole video in 1.5 of the original speed...still many thanks for the detailed explanation and demonstration of how it works in Java!
We can also create a parameterized constructor inside Node class to define the data and link part, so we need to write only one line of code, while creating the object, in each of the methods of linked list class.
very nice explanation but in inserAt(int index,int data) method we have to add for loop & Node n = head; into else statement otherwise data will be added two times.
It seriously was very confusing when you were stating the n.next part. Spent my 3 straight hours and still didn't got anything after node.next=n.next😶 Although,Thanks for your efforts sir. Love and Respect 🙏🏻💕
Hello sir In insertAt method for the 0 index we need to write a code If (index == 0) { node.next = head; head = node; } If we call insertAtStart method then it will create two objects. The first object will be created when we call the inserat method and the second object will be created when we call the insertAtStart method from if block.
Great video, but we need to handle outofindex error Use below code in indexAt method for (int i = 0; i < aIndex-1; i++) { mTempNode = mTempNode.mNext; if(mTempNode== null){ System.out.println("Please insert valid index!! Unable to insert"); return; } }
Although you've taught very well thanks a lot, but there's a bug in addAt() method, what if someone input index which isn't in the list? there'll be nullPointerException. here I've applied my own logic, please check if it's okay? (working fine in IDE) void addAt(int i, int value) { Node node = new Node(); node.data = value;
if(head == null) { head = node; System.out.println("List is empty, node added at index 0"); } else { Node n = new Node(); n = head;
while(n.next != null) { if (index == i-1) { node.next = n.next; n.next = node; break; } else if(i == 0) { addFirst(value); break; } n = n.next; index++; } if(n.next == null) { System.out.println("Given index is out of list"); } }
Thanks so much, best tutorial so far on this topic. One bug on InsertAtIndex, if the user specifies an index out of range like index 12. I have captured it buy inserting the element at the end of the list
Hi sir, i have a confusion on line 51 node.next = n.next node.next should have the address of next node, which is 45, why we are pointing it to 18 which is previous node. My understanding here is n refers to 18 node only because of the condition (i
I have the same code as you, however when i assign position (0, 33) The data will be entered twice at the start before displaying the rest of the list Edit: the Node n = head and for loop should be in an "else" statement after the if statement
that is bcoz sir forgot to write the return statement inside if statement where we comparing the 0 with index. you just write this --> return; after calling the method insertAtStart(); your problem will be solved then.
Can you use a custom cursor. Its provided by the windows itself. That's the only addition this video now needs. Its really difficult to follow this video without that cursor when it travels of to the right side of the window. If you update this video with the new cursor, please share the link to the new video herewith. Thank you!
hi sir thanks for such nice video but i would like to add a point what if someone is trying to add at a particular index and the head value is null or if the passed index is greater than available data in the list
There is one issue in the code in inserAt method, if input is 0th position u need to add return in the if condition otherwise the data will be added to the list twice if(index==0) { insertAtStart(data); return; }
This is a tutorial and NOT a complete follow along replecation of any Collection Also what you are saying is literally a maximum of 2 lines of extra code to implement.
he explains in the next video, there is a slight mistake. the if loop if checking index ==0, should accompany with an else, else the element gets added twice.
insert at index 0 the method adding twice because before if condition a node as been created and data as been assigned and after if condition again once again data as been inserting due to insert at start!!!
i think you should have drawn again as it was harder to see in the drawings. also maybe use a mouse pointer color as following the mouse pointer is difficult
Hi, When you do insert a value at index, n already points to head before for loop, so in the first iteration n would have traversed to index 1 right? I did not understand this....pls helpout
In insertAt method, if given index is 3 and only one node in LinkedList then what happens?? in this scenario user inserted at 3rd index but element added at 1st index so handle this scenario as well.
Why are you not using linked list class in util package? It's very simple to perform all those operations right? No need to write this much of code, Is there any reason?
You should add return; in the if(index==0) because it is going to continue doing everything after that code and it is going to put the element twice.
The code should be like this:
if(index==0)
{
insertAtStart(data);
return;
}
Other than that, great video. It helped me a lot. Thanks.
Your comment was very helpfull to me, thanks! :)
@@aleksandarmilosavljevic1996 You're welcome. I am glad I could help, but I think in the next video he fixes it and makes it correct.
thanks for help
you garbage
just joking
Great Video! No doubt
Just one improvement we can do in this.
In insertAt() method try to put the if condition at the beginning of the line and after calling insertAtStart() method put a return statement.
if(index == 0){
insertAtStart(data);
return;
}
Edit: I saw in the next video you have made the correction and accepted your mistake. This makes you even greater!
thanks2
Best explanation of the topic so far, congrats, keep up the great work
Sir u are god in teaching
When you move your cursor to paint, can you highlight the cursor? It's hard to follow where you are pointing to.
Same point..
Same point.
Yeah, the same problem.
Actually pointer can be seen if we see very carefully.I think it's better to change the background to cream colour so that the pointer would be highlighted more
put else after the "if" block for the rest of the code of insertAt method or else the added element will get added twice in the list..
The best video explanation for linkedlist in java so far...
Excellent video, it was very informative! Just to note (for others), in the insertAt(int data ) method, once we check if the index == 0 and if so we pre-append the data. At that point we have to type return; Because if not, the execution will still continue and add the value again in the for loop.
see also part 3.. 😄
Great Video... just one thing--- diagram should be crystal clear while explaining or actually change the pointer of drawing pen in your MS paint as that is hardly visible.
Yeah, struggled a lot to keep up with the pointer 😅
No one can explain better than you.!!Thank you sir ..finally i understood the concept of LL
Very nice explanation sir I feel very good while seeing this video because how well explained you it make me very clear and because of I watched your video able to make program of linked list feel very proud I pray to continue making this type of video which will help students like me to get knowledge and make them self and knowledgeable person thank you
Sir you are the best teacher of java.
this is the best explanation of Link List thank you for sharing
Easiest but Efficient explanation...Thanks a lot
at 8:34 , we need to implement the rest of the code in the else block, otherwise, the data will be added at index 0 and as well as index 1
At first it was like rocket science to me😅,After watching these videos several times finally got it,Thank you sir.
Your explanation is great sir with the diagram which helped a lot in understanding the concept
Your channel has some really great content, but the way you speak is like playing the whole video in 1.5 of the original speed...still many thanks for the detailed explanation and demonstration of how it works in Java!
Your Effort is Absolutely so helpful. Thaks A Lot
Thank u sir for kind effort to teach us... I am really happy having understood this part
Perfect explanation, thank you so much!
Thank you sir for explaining in
Such a simple words
You Explain Better Than My Professor Thanks
Thanks for this wonderful video. May gbu with lots of success love and life. Keep Rocking
We should go always in depth. Thanks a lot
Great explanation at RUclips !!
Can't see the cursor when you are pointing in paint. :(
thank you very much sir
i like very much your teaching method and your video is very helpful to my programming studies
Man...you like a God to me.....❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤
We can also create a parameterized constructor inside Node class to define the data and link part, so we need to write only one line of code, while creating the object, in each of the methods of linked list class.
YOU'RE FANTAAAAAAASTIC!!!
Big thnx
thanks so much, far better than my proff
Great explanation Thank you.
For the insertAtFirst() instead of making all those things we use node.next = head; head = node;
wow!!!. thank you so much. god bless you.
Your videos are awesome!
Great explanations man.
Ur videos r so much helpful for bttr understanding😍👍
More useful than my lecturer
very nice explanation but in inserAt(int index,int data) method we have to add for loop & Node n = head; into else statement otherwise data will be added two times.
thank you very much sir for detailed explanation
It seriously was very confusing when you were stating the n.next part.
Spent my 3 straight hours and still didn't got anything after node.next=n.next😶
Although,Thanks for your efforts sir.
Love and Respect 🙏🏻💕
special thanks to your diagrammatically representations.
Hello sir
In insertAt method for the 0 index we need to write a code
If (index == 0) {
node.next = head;
head = node;
}
If we call insertAtStart method then it will create two objects.
The first object will be created when we call the inserat method and the second object will be created when we call the insertAtStart method from if block.
It's helps for me a lot thanks sir I am waiting for sequences of this series
Great video, but we need to handle outofindex error Use below code
in indexAt method
for (int i = 0; i < aIndex-1; i++) {
mTempNode = mTempNode.mNext;
if(mTempNode== null){
System.out.println("Please insert valid index!!
Unable to insert");
return;
}
}
Very nice video, it was very helpful! Don't forget the three lines after the method after the else ;)
Although you've taught very well thanks a lot, but there's a bug in addAt() method, what if someone input index which isn't in the list? there'll be nullPointerException.
here I've applied my own logic, please check if it's okay? (working fine in IDE)
void addAt(int i, int value)
{
Node node = new Node();
node.data = value;
if(head == null)
{
head = node;
System.out.println("List is empty, node added at index 0");
}
else
{
Node n = new Node();
n = head;
while(n.next != null)
{
if (index == i-1)
{
node.next = n.next;
n.next = node;
break;
}
else if(i == 0)
{
addFirst(value);
break;
}
n = n.next;
index++;
}
if(n.next == null)
{
System.out.println("Given index is out of list");
}
}
Thanks so much, best tutorial so far on this topic. One bug on InsertAtIndex, if the user specifies an index out of range like index 12. I have captured it buy inserting the element at the end of the list
didn't understand at 7:43 min i.e; n.next=node;
You have to put the else block after if and put rest of the code to else block otherwise the added element will be added twice.
Really helpful Reddy!
Great video again !!!!
first, you need to implement list.size(), and then check if index > list.size(){ thow new Exeption() }!
sir please upload videos of doubly and circular linked list
great explanation sir
please Clear my point.. why it work as node.next= n.next... why it did't work as n.next=node.next ? in insertatstart method
Awesome work yaarrr
Superb👌👌
Really nice explanation, Just paint representation can be lill more clean.
Super job
@2:22 It's also not necessary to have the code: 'node.next = null;' right?
ni8 entha track chesina okka point ekkado miss ipothuna.... Mee video okka 5min chusa, path clear ipoiendi.... Thank you bro
Hi sir, i have a confusion on line 51
node.next = n.next
node.next should have the address of next node, which is 45, why we are pointing it to 18 which is previous node.
My understanding here is n refers to 18 node only because of the condition (i
Understood, thank you!
I have the same code as you, however when i assign position (0, 33)
The data will be entered twice at the start before displaying the rest of the list
Edit: the Node n = head and for loop should be in an "else" statement after the if statement
please read Ben Trono's reply.
that is bcoz sir forgot to write the return statement inside if statement where we comparing the 0 with index. you just write this --> return; after calling the method insertAtStart(); your problem will be solved then.
return; or else
Can you use a custom cursor. Its provided by the windows itself. That's the only addition this video now needs. Its really difficult to follow this video without that cursor when it travels of to the right side of the window. If you update this video with the new cursor, please share the link to the new video herewith. Thank you!
thanks,saved me
With all respect, we have to put the remaining code in the else block for insertAt() method after if condition
Am confused..At 7.42 you wrote node.next = n.next . means next element of n is assigned to node.cant we write node= n.next?
great video you helped me a lot but please change your cursor when you go to paint it's hard to follow it
thanks
Thank you so much ..
thankyou so much sir!
Hello Navin, can you make a video by implementing this methods in recursive way.
for example prependElement(int value)-- recursively.
hi sir
thanks for such nice video
but i would like to add a point what if someone is trying to add at a particular index and the head value is null or if the passed index is greater than available data in the list
return should be added in if(index==0)
Yeah, I was getting two data printed, thanks
There is one issue in the code in inserAt method, if input is 0th position u need to add return in the if condition otherwise the data will be added to the list twice
if(index==0)
{
insertAtStart(data);
return;
}
Thank You for the explanation but can we have some real time scenarios for the linkedlist usage
superb!..
pls make video on circular and doubly linked list
Best lit 🔥
Awesome sir
thank you sir.
Please upload all data structures in java sir
why are we not making an object of head just like node ???
What if Index is more than the number of element. NullPointerException will be thrown. So code is incomplete for method insertAt().
This is a tutorial and NOT a complete follow along replecation of any Collection
Also what you are saying is literally a maximum of 2 lines of extra code to implement.
he explains in the next video, there is a slight mistake. the if loop if checking index ==0, should accompany with an else, else the element gets added twice.
thanks a lot...
insert at index 0 the method adding twice because before if condition a node as been created and data as been assigned and after if condition again once again data as been inserting due to insert at start!!!
i think you should have drawn again as it was harder to see in the drawings. also maybe use a mouse pointer color as following the mouse pointer is difficult
sir
if we write IF condition for an insertAt function in the beginning, then excess node created in insertAt function won't be happening.
Hi,
When you do insert a value at index, n already points to head before for loop, so in the first iteration n would have traversed to index 1 right? I did not understand this....pls helpout
Hi , i did same thing what you did in your video...i have tried to add element to 0 index, but, it prints the element 0, 1 index
Complete indexAt method, however according to my knowledge, suggestions appreciated:
void insertAt(int aIndex, int aData) {
Node mNode = new Node();
mNode.mData = aData;
mNode.mNext = null;
if (aIndex < 0) {
System.out.println("Please provide proper positive index");
} else {
if (head == null) {
if (aIndex == 0) {
head = mNode;
} else {
System.out.println("Linked list is empty, can not insert at " + aIndex);
}
} else {
if (aIndex == 0) {
insertAtFirst(aData);
} else {
Node mTempNode = head;
for (int i = 0; i < aIndex - 1; i++) {
mTempNode = mTempNode.mNext;
if (mTempNode == null) {
System.out.println("Please insert at valid index!!
Unable to insert");
return;
}
}
mNode.mNext = mTempNode.mNext;
mTempNode.mNext = mNode;
}
}
}
}
awsome!!!!!!!!!!
In insertAt method, if given index is 3 and only one node in LinkedList then what happens??
in this scenario user inserted at 3rd index but element added at 1st index
so handle this scenario as well.
Its outstanding video but pace of presentation should be little slow.
awesome!!!
Why are you not using linked list class in util package? It's very simple to perform all those operations right? No need to write this much of code, Is there any reason?
please make more on ds