Sir really u are teaching very well by giving examples and covering entire concepts sir ,very much impressed sir do more videos for us sir.thanks a lot sir.
Thankyou thankyou so much sir....i understand whole concept.....ur best teacher....to teach concept and give the students very properly... I respect u sir
After disconnect the node , we should delete the temp bcoz it occupying some memory location so wasted memory space so that we have to delete temp like , free(temp);
we can also use just the head variable instead of using both head and tail . only change will come when we are inserting at end ,here we can use tail->next=new ,but for just head variable case ,we will have to traverse till last node
At specific position, I think there should be braces for for loop until it reaches the specific position then further command will execute, kindly recheck it
in my college they said to use free function on that temp node to delete the memory after the head variable is shifted to next node instead of making it address field null(here i am saying delete at beginnng case ,but we use free(temp); in every delete node function.
But here in the deletion from specific node the node to be deleted is not free up from the memory which is not good from programming point of view , how to free the memory along with the node
sir, the node which u have deleted is not deleted permanently but still it is pointing towards 4000 address location. and if i goes wrong let me know....sir
Hi We are initializing both head and tail at first node and after insertion of every node we are updating tail position. Hope your doubt has been clarified. Thank you for your support towards our channel
No! if we use temp->next!=NULL in while loop then the temp will be pointing at the last location ,so when you delete temp how will you assign tail or we can say how will you assign null to new tail!
Sir i am simply a graduate(BBA) can i get job in a IT company as a programmer or software developer. I have knowledge of c,c++ and data structure please anyone rply..
No! if we use temp->next!=NULL in while loop then the temp will be pointing at the last location ,so when you delete temp how will you assign tail or we can say how will you assign null to new tail!
@@sundeepsaradhi Sir, for deleting from any position we run the loop from i=0 to inext; temp->next=new_node; new_node->next=temp 1; So my question is why r we making new node equals temp 1 in the last line?
#include #include struct node{ int data; struct node*next; }*head,*tail; void creation() { int n; printf("Enter the Size= "); scanf("%d", &n); int i = 1; while (i data = value; newnode->next = NULL; if (head == NULL) { head = newnode; tail = newnode; } else { tail->next = newnode; tail = newnode; tail->next=head; } i++; } } void insertAtfist(){ int value; printf("Enter the value DO!you insert= "); scanf("%d",&value); struct node*newnode; newnode=(struct node*)malloc(sizeof(struct node)); newnode->data=value; newnode->next=head; tail->next=newnode; head=newnode; } void insertAtlast(){ int value; printf("Enter the value DO!you insert= "); scanf("%d",&value); struct node*newnode; newnode=(struct node*)malloc(sizeof(struct node)); newnode->data=value; tail->next=newnode; newnode->next=head; tail=newnode; } void specific(){ int n; int i=1; printf("Enter the position= "); scanf("%d",&n); struct node*ptr=head; while(inext; i++; } int value; printf("Enter the value= "); scanf("%d",&value); struct node*newnode; newnode=(struct node*)malloc(sizeof(struct node)); newnode->data=value; newnode->next=ptr->next; ptr->next=newnode; } void deleteAtfirst(){ struct node *temp; temp=head; head=head->next; tail->next=head; free(temp); } void delleteAtlast(){ struct node*temp; temp=head; while(temp->next!=tail){ temp=temp->next; } tail->next=NULL; temp->next=head; tail=temp; } void travase(){ struct node *temp=head; while(temp->next!=head){ printf("%d->",temp->data); temp=temp->next; } printf("%d->",temp->data); } void deleteSpecficPosition(){ int n; int i=1; struct node*temp,*newnode; temp=head; printf("Enter the positon = "); scanf("%d",&n); while(inext; i++; } temp->next=temp->next->next; } int main(){ creation(); //insertAtfist(); //insertAtlast(); // specific(); //travase(); //deleteAtfirst(); // delleteAtlast(); //deleteSpecficPosition();
travase();
} As a newcomer, it's completely normal to encounter numerous errors during your initial attempt (sending love from Bangladesh). Making mistakes is an integral part of the learning process, and it's how we grow and improve. Embrace these challenges as opportunities for growth and don't hesitate to seek help or explore different approaches. Remember, everyone starts somewhere, and with practice, you'll gain confidence and proficiency in no time. Love and support from Bangladesh! 😊
Sir, we are waiting for more videos on data structures, please upload soon
And your teaching level is very Excellent👌
Sir really u are teaching very well by giving examples and covering entire concepts sir ,very much impressed sir do more videos for us sir.thanks a lot sir.
Thankyou thankyou so much sir....i understand whole concept.....ur best teacher....to teach concept and give the students very properly...
I respect u sir
Awesome Explanation Sir, I wasted 4 days to understand this and finally got it here.
He is explaining better than my lecture
But try to give notes for the given topics
It helps the viewer very much
Sir your teaching style is so so good👏👏
Wrote the full program here:#include
#include
int value;
struct node
{
int data;
struct node *next;
}*new,*head,*tail,*temp,*current,*prev,*next;
void create()
{
new=(struct node*)malloc(sizeof(struct node));
printf("Enter the value:
");
scanf("%d",&value);
new->data=value;
new->next=NULL;
}
void insert()
{
create();
if(head==NULL)
{
head=new;
tail=new;
}
else
{
tail->next=new;
tail=new;
}
display();
}
void display()
{
printf("Updated link list is:
");
temp=head;
while(temp!=NULL)
{
printf("%d
",temp->data);
temp=temp->next;
}
}
void insertatbeg()
{
if(head==NULL)
printf("No Linked List found.");
else
{
create();
new->data=value;
new->next=head;
head=new;
display();
}
}
void insertatend()
{
if(head==NULL)
printf("No Linked List found.");
else
{
create();
new->data=value;
tail->next=new;
new->next=NULL;
tail=new;
display();
}
}
void insertatmid()
{
if(head==NULL)
printf("No Linked List found.");
else
{
create();
temp=head;
int pos,i;
printf("Enter the position where new node is to be inserted:
");
scanf("%d",&pos);
for(i=0;inext;
}
new->data=value;
new->next=temp->next;
temp->next=new;
display();
}
}
void deleteatbeg()
{
if(head==NULL)
printf("No Linked List found.");
else
{
temp=head;
head=head->next;
temp->next=NULL;
display();
}
}
void deleteatend()
{
if(head==NULL)
printf("No Linked List found.");
else
temp=head;
while(temp->next!=tail)
{
temp=temp->next;
}
temp->next=NULL;
tail=temp;
display();
}
void deleteatmid()
{
if(head==NULL)
printf("No Linked List found.");
else
{
temp=head;
int pos=0,i;
printf("Enter the position which you want to delete.
");
scanf("%d",&pos);
for(i=0;inext;
}
temp->next=temp->next->next;
display();
}
}
void count()
{ if(head==NULL)
printf("No Linked List found.");
else
{
int count=0;
temp=head;
while(temp!=NULL)
{
count++;
temp=temp->next;
}
printf("
Total number of nodes is : %d
",count);
}
}
void reverse()
{
if(head==NULL)
printf("No Linked List found.");
else
{
current=head;
while(current!=NULL)
{
next=current->next;
current->next=prev;
prev=current;
current=next;
}
}
head=prev;
display();
}
int main()
{
printf("Press:
1.Insert a new value.
2.Display all elements.
3.Insert at beginning.
4.Insert at End.
5.Insert in middle.
6.Delete at beginning.
7.Delete at End.
8.Delete in between.
9.Count total number of nodes.
10.Reverse
0.Exit");
int choice;
do
{
printf("
Enter your choice:
");
scanf("%d",&choice);
switch(choice)
{
case 1:
insert();
break;
case 2:
display();
break;
case 3:
insertatbeg();
break;
case 4:
insertatend();
break;
case 5:
insertatmid();
break;
case 6:
deleteatbeg();
break;
case 7:
deleteatend();
break;
case 8:
deleteatmid();
break;
case 9:
count();
break;
case 10:
reverse();
break;
case 0:
printf("Exited successfully");
break;
}
}while(choice!=0);
}
Thanks bro. Appreciate it!!!!
thanks bhai ….. sabse payara kaam toh tune kar diyaa … cheers
showing error after at *new
code is available at google
@@bhanuprasadbaddam146 new is key word so change it like newn or news it will not show error
Sir,
in for loop we will have( i < pos ) or ( I
as the node content address of next element
Very nice, thanks for u effort of teaching the concept very simple and easy understanding
Sir thank you much sir actually I saw lots of video but this is a great once I understand
ONE OF THE BEST DSA PLAYLIST EVER ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
Fascinating!!, The easy way to understand the data structure
After disconnect the node , we should delete the temp bcoz it occupying some memory location so wasted memory space so that we have to delete temp like , free(temp);
Exactly only disconnecting won't help
instead directly delete it thus it will get disconnected automatically
Sir in the for loop condition you gave statement inside (i
Exactly searching for this comment
it should be (i
i
For I=0 itself the address part contains the address of next node so the temp will start pointing to the next node that is why I
Yes, i
Sir thanks for giving lot of information.your videos are very useful for us.we are expecting more videos from you sir.
baaga kastapaduthu chepparu, chala thanks
we can also use just the head variable instead of using both head and tail . only change will come when we are inserting at end ,here we can use tail->next=new ,but for just head variable case ,we will have to traverse till last node
can u please put the entire codes as well... so as to better understand .by pasting the same in compilers ........u teach great
Sir can you upload full program for inserting,deleting and display
Yes sir... Plzz post... Full program... In this way.....
Session was Wonderful sir
thanks sir for step by step proper explanation.
At specific position, I think there should be braces for for loop until it reaches the specific position then further command will execute, kindly recheck it
he is just explaning the things by assuming that you know the basic of programming u should know how to design it
Thank you soo mch sir...
For such a fruitful vdo
Sir u r videos r easy to understand 💯👌..but it can be wrote or not on jntua exams plzz give me feedback sir....🙏🙏🙏
Please reply @Sundeep Saradhi Kanthety.. condition of for loop is correct or not??
Thank u for explaining..keep going on sir
Sir I think we not only break the connection.... But we have to free the memory too
Sir u are amazing thank u for making videos 🙏🙏❤
thank you
in my college they said to use free function on that temp node to delete the memory after the head variable is shifted to next node instead of making it address field null(here i am saying delete at beginnng case ,but we use free(temp); in every delete node function.
you are a genius
Thank you sir
Great teaching mastaaru
its very useful sir
But here in the deletion from specific node the node to be deleted is not free up from the memory which is not good from programming point of view , how to free the memory along with the node
Just update the next and write the free( ) function to release the memory
@@sundeepsaradhi will it work because the link to the node to be deleted has been broken, that node is permanently lost.
Sir,how to delete the last node by using the tail pointer..
Sir 10 address field has an arrow but other address field no arrow this is correct or not
awesome! explanation
Sir tell the class with perfect coding like programming example
at beginning : temp=head
head=temp->next
i think this is correct
Both are valid since intially head and temp both are pointing at same node
Tnq you so much sir
In the for loop should the second statement..... should be out of the loop?
Nice sir
Sir if we delete 30(pos 2) than 30 of next should be null or not ?
" temp->next->next=NULL "
sir you are inserting at 3rd pos so shouln't pos be equal to 3 instead of 2 ...
Sir in the for loop Condition if position value changes its not working, Can you explain how ?
sir, the node which u have deleted is not deleted permanently but still it is pointing towards 4000 address location. and if i goes wrong let me know....sir
Yes
You are correct and if you need to remove permenantly you have to use free() function to free up the allocated memory
@@sundeepsaradhi could you please tell me how to free up that location with free function.....sir
sir after disconnecting the node arent we supposed to disconnect the deleted node plz reply sir
Sir data structures full video share chayara plz
Nice..
thanks sir
Why can't we use ?
temp->link=pos->link (in deletion from specific position)
becouse pos is not defined as a pointer in struct node data type
Hi sir,
Can you tell me plz
Delete a node at specific position is same as delete a node anywhere.Plz.Reply me soon..
sir link between 30 and 40 is still present by this 2 lists are present please clarify me
Can we use keyword "continue" to delete specific node?
What is use of " temp=temp->next"
To move the temp to next position
Sir can you write program for this topic
how can we say 1st element as head and last element as tail? is it predefined or how to assign it?
Hi
We are initializing both head and tail at first node and after insertion of every node we are updating tail position. Hope your doubt has been clarified. Thank you for your support towards our channel
can we write temp-->next as next(temp) ?
Sir please writer a program for insertion and deletion of elements using linked list in c++,seperately
Condition in while should be temp-next!=NULL
PLEASE TELL IF I AM WRONG
i have the same question
No! if we use temp->next!=NULL in while loop then the temp will be pointing at the last location ,so when you delete temp how will you assign tail or we can say how will you assign null to new tail!
Super ❤❤❤
Sir pls gives us full example program ..
At 13:49 can I write tail=temp; above temp->next=null; will I still get the output
Yes you can write it.
Sir please provide full code from creating, inserting, deleting
miru cheppaka doubts untaya sir
best
Sir i am simply a graduate(BBA) can i get job in a IT company as a programmer or software developer.
I have knowledge of c,c++ and data structure please anyone rply..
i think Condition in while should be temp-next!=NULL
would it be wrong..please answer asap
No! if we use temp->next!=NULL in while loop then the temp will be pointing at the last location ,so when you delete temp how will you assign tail or we can say how will you assign null to new tail!
why cant we first place null and then change the head
Sir this topic not understood 😢
should we free the memory?
it is same as making it NULL
❤❤❤❤❤
Sir element free cheyaalsina avasaram ledha sir
Hi
Yes we have to free the memory by free( ).
Sir every time u tell us to post our doubts in comment section but u never clear them
Hi
Sorry for that pls tell me what is your doubt
@@sundeepsaradhi Sir, for deleting from any position we run the loop from i=0 to inext;
temp->next=new_node;
new_node->next=temp 1;
So my question is why r we making new node equals temp 1 in the last line?
Plz give a full proper program
great sir
hi vikash
Thanks for your support towards our channel.Share our channel with your friends and keep following our channel.
Need in cpp
𝘵𝘯𝘲 𝘴𝘪𝘳
#include
#include
struct node{
int data;
struct node*next;
}*head,*tail;
void creation() {
int n;
printf("Enter the Size= ");
scanf("%d", &n);
int i = 1;
while (i data = value;
newnode->next = NULL;
if (head == NULL) {
head = newnode;
tail = newnode;
} else {
tail->next = newnode;
tail = newnode;
tail->next=head;
}
i++;
}
}
void insertAtfist(){
int value;
printf("Enter the value DO!you insert= ");
scanf("%d",&value);
struct node*newnode;
newnode=(struct node*)malloc(sizeof(struct node));
newnode->data=value;
newnode->next=head;
tail->next=newnode;
head=newnode;
}
void insertAtlast(){
int value;
printf("Enter the value DO!you insert= ");
scanf("%d",&value);
struct node*newnode;
newnode=(struct node*)malloc(sizeof(struct node));
newnode->data=value;
tail->next=newnode;
newnode->next=head;
tail=newnode;
}
void specific(){
int n;
int i=1;
printf("Enter the position= ");
scanf("%d",&n);
struct node*ptr=head;
while(inext;
i++;
}
int value;
printf("Enter the value= ");
scanf("%d",&value);
struct node*newnode;
newnode=(struct node*)malloc(sizeof(struct node));
newnode->data=value;
newnode->next=ptr->next;
ptr->next=newnode;
}
void deleteAtfirst(){
struct node *temp;
temp=head;
head=head->next;
tail->next=head;
free(temp);
}
void delleteAtlast(){
struct node*temp;
temp=head;
while(temp->next!=tail){
temp=temp->next;
}
tail->next=NULL;
temp->next=head;
tail=temp;
}
void travase(){
struct node *temp=head;
while(temp->next!=head){
printf("%d->",temp->data);
temp=temp->next;
}
printf("%d->",temp->data);
}
void deleteSpecficPosition(){
int n;
int i=1;
struct node*temp,*newnode;
temp=head;
printf("Enter the positon = ");
scanf("%d",&n);
while(inext;
i++;
}
temp->next=temp->next->next;
}
int main(){
creation();
//insertAtfist();
//insertAtlast();
// specific();
//travase();
//deleteAtfirst();
// delleteAtlast();
//deleteSpecficPosition();
travase();
} As a newcomer, it's completely normal to encounter numerous errors during your initial attempt (sending love from Bangladesh). Making mistakes is an integral part of the learning process, and it's how we grow and improve. Embrace these challenges as opportunities for growth and don't hesitate to seek help or explore different approaches. Remember, everyone starts somewhere, and with practice, you'll gain confidence and proficiency in no time. Love and support from Bangladesh! 😊