LINKED LIST (DELETION FROM BEGINNING,ENDING AND SPECIFIED POSITION) - DATA STRUCTURES

Поделиться
HTML-код
  • Опубликовано: 26 окт 2024

Комментарии • 115

  • @Yash-gj2xy
    @Yash-gj2xy 5 лет назад +24

    Sir, we are waiting for more videos on data structures, please upload soon
    And your teaching level is very Excellent👌

  • @sindhuraakaveeti9079
    @sindhuraakaveeti9079 4 года назад +5

    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.

  • @shubhamgaikwad2196
    @shubhamgaikwad2196 2 года назад +1

    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

  • @sayantanmondal8630
    @sayantanmondal8630 2 года назад

    Awesome Explanation Sir, I wasted 4 days to understand this and finally got it here.

  • @mohammedabrar1284
    @mohammedabrar1284 Год назад +1

    He is explaining better than my lecture
    But try to give notes for the given topics
    It helps the viewer very much

  • @prashasti798
    @prashasti798 5 лет назад +5

    Sir your teaching style is so so good👏👏

  • @swapniljaiswal4956
    @swapniljaiswal4956 4 года назад +21

    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);
    }

  • @pratikjussal1367
    @pratikjussal1367 4 года назад +1

    Sir,
    in for loop we will have( i < pos ) or ( I

    • @omkarpukale4238
      @omkarpukale4238 4 года назад +1

      as the node content address of next element

  • @keerthiravanan2884
    @keerthiravanan2884 Год назад

    Very nice, thanks for u effort of teaching the concept very simple and easy understanding

  • @likita7999
    @likita7999 3 месяца назад

    Sir thank you much sir actually I saw lots of video but this is a great once I understand

  • @sandipanmajumder9419
    @sandipanmajumder9419 11 месяцев назад

    ONE OF THE BEST DSA PLAYLIST EVER ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥

  • @peterjone4953
    @peterjone4953 3 года назад

    Fascinating!!, The easy way to understand the data structure

  • @balakrishnana.k3293
    @balakrishnana.k3293 4 года назад +7

    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);

    • @prathamdolle5271
      @prathamdolle5271 4 года назад +1

      Exactly only disconnecting won't help
      instead directly delete it thus it will get disconnected automatically

  • @divyanshusharma77
    @divyanshusharma77 4 года назад +16

    Sir in the for loop condition you gave statement inside (i

    • @jjayasankar9957
      @jjayasankar9957 4 года назад +2

      Exactly searching for this comment

    • @adityahegde9617
      @adityahegde9617 4 года назад +2

      it should be (i

    • @dagadnikhil2846
      @dagadnikhil2846 4 года назад +3

      i

    • @gamerdon6
      @gamerdon6 3 года назад +3

      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

    • @tamilselvans9530
      @tamilselvans9530 3 года назад

      Yes, i

  • @mahipadabeula5352
    @mahipadabeula5352 3 года назад

    Sir thanks for giving lot of information.your videos are very useful for us.we are expecting more videos from you sir.

  • @inspiresouls4849
    @inspiresouls4849 Год назад

    baaga kastapaduthu chepparu, chala thanks

  • @mickyman753
    @mickyman753 3 года назад +1

    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

  • @timmy2299
    @timmy2299 2 года назад

    can u please put the entire codes as well... so as to better understand .by pasting the same in compilers ........u teach great

  • @sriharshavikruthi5047
    @sriharshavikruthi5047 5 лет назад +12

    Sir can you upload full program for inserting,deleting and display

  • @shushmar368
    @shushmar368 2 года назад

    Session was Wonderful sir

  • @akshayshinde2403
    @akshayshinde2403 5 лет назад

    thanks sir for step by step proper explanation.

  • @shaktiraj958
    @shaktiraj958 4 года назад +2

    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

    • @omkarpukale4238
      @omkarpukale4238 4 года назад +1

      he is just explaning the things by assuming that you know the basic of programming u should know how to design it

  • @rachitamishra3306
    @rachitamishra3306 5 лет назад +1

    Thank you soo mch sir...
    For such a fruitful vdo

  • @chandrachandu7343
    @chandrachandu7343 4 года назад +1

    Sir u r videos r easy to understand 💯👌..but it can be wrote or not on jntua exams plzz give me feedback sir....🙏🙏🙏

  • @kamalverma968
    @kamalverma968 3 года назад +1

    Please reply @Sundeep Saradhi Kanthety.. condition of for loop is correct or not??

  • @ramdarling517
    @ramdarling517 4 года назад

    Thank u for explaining..keep going on sir

  • @SanjuSharma-cd3jq
    @SanjuSharma-cd3jq 3 года назад +1

    Sir I think we not only break the connection.... But we have to free the memory too

  • @abhishekgouda4029
    @abhishekgouda4029 3 года назад

    Sir u are amazing thank u for making videos 🙏🙏❤

  • @KirubelMan-fb2ki
    @KirubelMan-fb2ki Месяц назад

    thank you

  • @mickyman753
    @mickyman753 3 года назад

    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.

  • @elieelia9675
    @elieelia9675 3 года назад

    you are a genius

  • @chitrarajshekar3003
    @chitrarajshekar3003 4 года назад +1

    Thank you sir

  • @201vlogs9
    @201vlogs9 4 года назад

    Great teaching mastaaru

  • @manirahulzallipalli7391
    @manirahulzallipalli7391 3 года назад

    its very useful sir

  • @madhav_agrawal
    @madhav_agrawal 5 лет назад +2

    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

    • @sundeepsaradhi
      @sundeepsaradhi  5 лет назад

      Just update the next and write the free( ) function to release the memory

    • @madhav_agrawal
      @madhav_agrawal 5 лет назад

      @@sundeepsaradhi will it work because the link to the node to be deleted has been broken, that node is permanently lost.

  • @royalravikumar3041
    @royalravikumar3041 Год назад

    Sir,how to delete the last node by using the tail pointer..

  • @fruitlanguage678
    @fruitlanguage678 4 года назад +1

    Sir 10 address field has an arrow but other address field no arrow this is correct or not

  • @sureshmunisamy5933
    @sureshmunisamy5933 4 года назад

    awesome! explanation

  • @anagondiobulesu9932
    @anagondiobulesu9932 3 года назад +2

    Sir tell the class with perfect coding like programming example

  • @pankajchauhan4677
    @pankajchauhan4677 5 лет назад +2

    at beginning : temp=head
    head=temp->next
    i think this is correct

    • @arastusharma439
      @arastusharma439 5 лет назад +2

      Both are valid since intially head and temp both are pointing at same node

  • @gangothrikurichety9876
    @gangothrikurichety9876 2 года назад

    Tnq you so much sir

  • @pesforeverad9693
    @pesforeverad9693 3 года назад

    In the for loop should the second statement..... should be out of the loop?

  • @souvikmukhopadhyay404
    @souvikmukhopadhyay404 5 лет назад +2

    Nice sir

  • @saikiranmaragouni1364
    @saikiranmaragouni1364 3 года назад

    Sir if we delete 30(pos 2) than 30 of next should be null or not ?
    " temp->next->next=NULL "

  • @ayushmittal9666
    @ayushmittal9666 3 года назад

    sir you are inserting at 3rd pos so shouln't pos be equal to 3 instead of 2 ...

  • @dileepkumartentu8707
    @dileepkumartentu8707 3 года назад

    Sir in the for loop Condition if position value changes its not working, Can you explain how ?

  • @balas1263
    @balas1263 5 лет назад +1

    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

    • @sundeepsaradhi
      @sundeepsaradhi  5 лет назад +1

      Yes
      You are correct and if you need to remove permenantly you have to use free() function to free up the allocated memory

    • @balas1263
      @balas1263 5 лет назад

      @@sundeepsaradhi could you please tell me how to free up that location with free function.....sir

  • @karrisrisatyavenkatakishor4770
    @karrisrisatyavenkatakishor4770 3 года назад

    sir after disconnecting the node arent we supposed to disconnect the deleted node plz reply sir

  • @vineelainturi4982
    @vineelainturi4982 Год назад

    Sir data structures full video share chayara plz

  • @srinivasraosangamreddy5674
    @srinivasraosangamreddy5674 3 года назад

    Nice..

  • @BiqSam2002
    @BiqSam2002 2 месяца назад

    thanks sir

  • @arastusharma439
    @arastusharma439 5 лет назад +1

    Why can't we use ?
    temp->link=pos->link (in deletion from specific position)

    • @swapniljaiswal4956
      @swapniljaiswal4956 4 года назад

      becouse pos is not defined as a pointer in struct node data type

  • @kashifakousar32
    @kashifakousar32 5 лет назад

    Hi sir,
    Can you tell me plz
    Delete a node at specific position is same as delete a node anywhere.Plz.Reply me soon..

  • @shivaprasadusakoyala837
    @shivaprasadusakoyala837 4 года назад

    sir link between 30 and 40 is still present by this 2 lists are present please clarify me

  • @bhanusankar4570
    @bhanusankar4570 3 года назад

    Can we use keyword "continue" to delete specific node?

  • @ajay5067
    @ajay5067 4 года назад +1

    What is use of " temp=temp->next"

    • @sujaypv720
      @sujaypv720 3 года назад

      To move the temp to next position

  • @jvanush7329
    @jvanush7329 4 года назад +1

    Sir can you write program for this topic

  • @govardhanreddy9644
    @govardhanreddy9644 5 лет назад +1

    how can we say 1st element as head and last element as tail? is it predefined or how to assign it?

    • @sundeepsaradhi
      @sundeepsaradhi  5 лет назад +4

      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

  • @Salman_Siddiqui7171
    @Salman_Siddiqui7171 3 года назад

    can we write temp-->next as next(temp) ?

  • @gsharthika592
    @gsharthika592 5 лет назад

    Sir please writer a program for insertion and deletion of elements using linked list in c++,seperately

  • @aanchalsharma5264
    @aanchalsharma5264 5 лет назад +1

    Condition in while should be temp-next!=NULL
    PLEASE TELL IF I AM WRONG

    • @pritamsuryawanshi
      @pritamsuryawanshi 5 лет назад +1

      i have the same question

    • @arastusharma439
      @arastusharma439 5 лет назад +1

      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!

  • @nareshyadav9769
    @nareshyadav9769 3 года назад

    Super ❤❤❤

  • @BCMSHAMEERAHFATHIMAR
    @BCMSHAMEERAHFATHIMAR 2 года назад

    Sir pls gives us full example program ..

  • @humanplanet8728
    @humanplanet8728 5 лет назад +4

    At 13:49 can I write tail=temp; above temp->next=null; will I still get the output

  • @kartikbhat1196
    @kartikbhat1196 7 месяцев назад

    Sir please provide full code from creating, inserting, deleting

  • @bachalakurisumathi5211
    @bachalakurisumathi5211 2 года назад

    miru cheppaka doubts untaya sir

  • @PIYUSH-lz1zq
    @PIYUSH-lz1zq 4 года назад

    best

  • @rahuljangir3645
    @rahuljangir3645 3 года назад

    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..

  • @pritamsuryawanshi
    @pritamsuryawanshi 5 лет назад

    i think Condition in while should be temp-next!=NULL
    would it be wrong..please answer asap

    • @arastusharma439
      @arastusharma439 5 лет назад +1

      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!

  • @viralyoutubeshorts232
    @viralyoutubeshorts232 4 года назад

    why cant we first place null and then change the head

  • @SravanthiEnugula-xu3kp
    @SravanthiEnugula-xu3kp 8 месяцев назад +1

    Sir this topic not understood 😢

  • @shaibalmandal1641
    @shaibalmandal1641 3 года назад

    should we free the memory?

  • @chandragirinaresh1240
    @chandragirinaresh1240 4 года назад

    ❤❤❤❤❤

  • @yarramneninikhil1299
    @yarramneninikhil1299 4 года назад +1

    Sir element free cheyaalsina avasaram ledha sir

    • @sundeepsaradhi
      @sundeepsaradhi  4 года назад

      Hi
      Yes we have to free the memory by free( ).

  • @anushkachoudhury3877
    @anushkachoudhury3877 5 лет назад

    Sir every time u tell us to post our doubts in comment section but u never clear them

    • @sundeepsaradhi
      @sundeepsaradhi  5 лет назад

      Hi
      Sorry for that pls tell me what is your doubt

    • @anushkachoudhury3877
      @anushkachoudhury3877 5 лет назад

      @@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?

  • @yashdhiman5377
    @yashdhiman5377 2 года назад

    Plz give a full proper program

  • @VikashKumar-kc7mr
    @VikashKumar-kc7mr 5 лет назад

    great sir

    • @sundeepsaradhi
      @sundeepsaradhi  5 лет назад +1

      hi vikash
      Thanks for your support towards our channel.Share our channel with your friends and keep following our channel.

  • @vinuthag5160
    @vinuthag5160 2 года назад

    Need in cpp

  • @Rajamani-px4ch
    @Rajamani-px4ch 3 года назад

    𝘵𝘯𝘲 𝘴𝘪𝘳

  • @Rakibul_52
    @Rakibul_52 Год назад

    #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! 😊