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!
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
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.
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
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.
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!
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 🙏🏻💕
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.
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
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.
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; } }
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
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"); } }
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
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!
Can you explain when you did -------> node.data = data ? Is this similar to when you have setters and put [ this.variable = variable; ] ? I didn't know you could put an, Object.AnotherDataType, to equal that data type (AnotherDataType). Can you explain what node.data does specifically please?
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
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.
already we have inbuilt functions to add,delete etc....Then what is the use to write our own class as LinkedList I mean What is the use to write LinkedList classs rather thn using inbuilt class @Telusko
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; }
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?
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.
Hey!! I have one doubt,how do you access index of any node as you already said linkedlist doesn't always be in sequence so how this index is in sequence and how do u know the index of any node , as far as i know if we want to insert at any position we provide info of data i.e after 18 insert should be done or after any other node that means we are providing data, i don't understand in linked list how this index can come than what is the diff between this and array if we'll provide index?????
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
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.
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.
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
Sir u are god in teaching
Best explanation of the topic so far, congrats, keep up the great work
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
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.. 😄
this is the best explanation of Link List thank you for sharing
Your explanation is great sir with the diagram which helped a lot in understanding the concept
At first it was like rocket science to me😅,After watching these videos several times finally got it,Thank you sir.
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
Sir you are the best teacher of java.
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 😅
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!
Thank u sir for kind effort to teach us... I am really happy having understood this part
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..
Easiest but Efficient explanation...Thanks a lot
Perfect explanation, thank you so much!
thank you very much sir
i like very much your teaching method and your video is very helpful to my programming studies
Thank you sir for explaining in
Such a simple words
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
You Explain Better Than My Professor Thanks
Man...you like a God to me.....❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤❤
Your Effort is Absolutely so helpful. Thaks A Lot
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
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 🙏🏻💕
Great explanation at UA-cam !!
thanks so much, far better than my proff
Great explanation Thank you.
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.
wow!!!. thank you so much. god bless you.
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
special thanks to your diagrammatically representations.
For the insertAtFirst() instead of making all those things we use node.next = head; head = node;
thank you very much sir for detailed explanation
Your videos are awesome!
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.
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.
YOU'RE FANTAAAAAAASTIC!!!
Big thnx
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;
}
}
It's helps for me a lot thanks sir I am waiting for sequences of this series
Very nice video, it was very helpful! Don't forget the three lines after the method after the else ;)
Ur videos r so much helpful for bttr understanding😍👍
@2:22 It's also not necessary to have the code: 'node.next = null;' right?
Great explanations man.
More useful than my lecturer
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
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 nice explanation, Just paint representation can be lill more clean.
ni8 entha track chesina okka point ekkado miss ipothuna.... Mee video okka 5min chusa, path clear ipoiendi.... Thank you bro
Understood, thank you!
Superb👌👌
Can't see the cursor when you are pointing in paint. :(
great explanation sir
didn't understand at 7:43 min i.e; n.next=node;
Super job
sir please upload videos of doubly and circular linked list
Really helpful Reddy!
thanks,saved me
Thank you so much ..
Great video again !!!!
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
thankyou so much sir!
Awesome work yaarrr
thank you sir.
first, you need to implement list.size(), and then check if index > list.size(){ thow new Exeption() }!
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");
}
}
Hello Navin, can you make a video by implementing this methods in recursive way.
for example prependElement(int value)-- recursively.
great video you helped me a lot but please change your cursor when you go to paint it's hard to follow it
thanks
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
With all respect, we have to put the remaining code in the else block for insertAt() method after if condition
thanks a lot...
NOTICE: u must put FOR boucle at else of (if index==0) because if you dont it will be dublicate the same number on pos 0 and 1....am i right???????
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!
Can you explain when you did -------> node.data = data ? Is this similar to when you have setters and put [ this.variable = variable; ] ? I didn't know you could put an, Object.AnotherDataType, to equal that data type (AnotherDataType). Can you explain what node.data does specifically please?
@telusko
Best lit 🔥
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
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.
already we have inbuilt functions to add,delete etc....Then what is the use to write our own class as LinkedList I mean What is the use to write LinkedList classs rather thn using inbuilt class @Telusko
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;
}
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?
pls make video on circular and doubly linked list
superb!..
Please upload all data structures in java sir
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
Awesome sir
Hey!! I have one doubt,how do you access index of any node as you already said linkedlist doesn't always be in sequence so how this index is in sequence and how do u know the index of any node , as far as i know if we want to insert at any position we provide info of data i.e after 18 insert should be done or after any other node that means we are providing data, i don't understand in linked list how this index can come than what is the diff between this and array if we'll provide index?????
please make more on ds
Thank You for the explanation but can we have some real time scenarios for the linkedlist usage
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
why are we not making an object of head just like node ???
If I am using the insertAtStart() multiple times, it's not executing
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
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.
sir
if we write IF condition for an insertAt function in the beginning, then excess node created in insertAt function won't be happening.
Its outstanding video but pace of presentation should be little slow.
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.
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?