4.3 Queue Implementation using Linked List in C | Data Structure Tutorials

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

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

  • @PrinceKumar-ux3qm
    @PrinceKumar-ux3qm 5 лет назад +195

    The best thing is that you are making videos on algorithms and data structure, there are lots of channels in youtube they do teach programming languages but not data structure and algorithms.Thanks a lot mam🙏🙏🙏

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

      Q1qq

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

      I tried this code but its not working ...for linked list and array as well

    • @AnkitSingh-go6qq
      @AnkitSingh-go6qq Год назад

      @@riyajaiswal2137 yes i also check code is not working if we deque element many times

    • @VivekRaj-eb6mk
      @VivekRaj-eb6mk Год назад +1

      @@riyajaiswal2137 that's not code, that the algorithm .

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

      At struct datatype after} semicolon is required

  • @suvrajitdatta
    @suvrajitdatta 5 лет назад +62

    Ma'am never stop making videos....teacher like u are needed are needed more and more in our society....ur explanations are supurb

  • @Varun00717
    @Varun00717 5 лет назад +45

    waking up at 5 am every day. and seeing your face has now become a habit. thank you so much for such lovely explanations and clearing my concept. mam please make two videos on 1. Reverse a circular doubly linked list & 2. Implementation of circular queue using linked list. Thank you mam you are amazing

  • @mabenyjohnson6908
    @mabenyjohnson6908 4 года назад +15

    Your teaching makes it interesting to listen to you until the end... Because of the clarity and consistency of how you lay out your ideas.

  • @otetumooluwaseun3948
    @otetumooluwaseun3948 5 месяцев назад +1

    Thank you very much Jenny. You saved me during my C days and now still saving me learning C#.
    I see double beauties watching your videos.

  • @NishantSingh-cs2dl
    @NishantSingh-cs2dl 3 года назад +2

    mam your way of teaching and the things you taught us I is beyond this comment section ......... You are such a great teacher and I have been in love with you and with your teaching........

  • @karthikc8992
    @karthikc8992 5 лет назад +11

    jayanthi ma'am , u r simply superb...
    keep helping us
    best channel for learning DS

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

    Video not only is good but also teacher which teach,she is very amazing

  • @asmakhan541
    @asmakhan541 4 года назад +32

    Mam ur lectures is awesome. To the point,No time wastage!😘😘😘😘😘

  • @veereshnaik683
    @veereshnaik683 5 лет назад +14

    best youtube tutor mam its uniques and direct point tq :)

  • @PankajPandeyfacts7931
    @PankajPandeyfacts7931 Год назад +2

    I struggles a.lot on this topic
    But I am clear right now
    Thank u mam from the bottom of my heart

  • @vaibhavshukla6911
    @vaibhavshukla6911 8 месяцев назад +2

    Thank you jenny ma'am for this amazing lecture.

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

    Mam I am improving my basic knowledge on coding I have so many of doubts on coding but your teaching coding is assume I am easier to learn thank you mam😊

  • @adarshjadhav8877
    @adarshjadhav8877 4 года назад +26

    Pyaar ho Jaye ga mam, aise padhayenge toh...❤️❤️
    .
    .
    .
    .
    .
    .
    .
    .
    DS se

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

    best lectures ever on Data structures and algorithms

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

    You are the most beautiful lecturer in this century

  • @BhanuprakshSasapu
    @BhanuprakshSasapu 3 месяца назад +1

    Mam becuz of you I got the confidence to write the exam

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

    mam thanks a lot for teaching in such a simple way that can be understood by a new person to coding like me👏👏

  • @darpananand9848
    @darpananand9848 2 года назад +2

    Ma'am we can also check the condition for 1 element in Dequeue Function i.e
    if there is only 1 element in the Queue , and we want to delete it , then the code would be
    void dequeue()
    {
    struct node*temp=front;
    if(front==0 && rear==0)
    {
    printf("UnderFlow Condition
    ");
    }
    else if(front==rear)
    {
    printf("The element which is deleted is %d
    ",front->data);
    front=rear=0;
    free(temp);
    }
    else
    {
    printf("The element which is deleted is %d
    ",front->data);
    front=front->next;
    free(temp);
    }
    }
    BTW Thank you so much Ma'am for this Amazing Content ❤❤

    • @justcurious1940
      @justcurious1940 9 месяцев назад

      No need if we don't use the rear in the past functions I think .

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

    Thank you so much maam.Your way of Teaching is so good that even a dull student can understand easily.Our Generation is so lucky, because We have you.

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

    Best teacher on YT

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

    Incridible class madam.I have been starting to learn data structure So I was searching good teacher.finally i have gotten your class.I have also subscribed your chanel.Love From Bangladesh.

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

    I used to smoke weeds but at last when you said "bye,bye take care"
    I quit it,and made my 10 friends too.
    But joke safat it would be a more interactive if you have coded the logic live on IDE ,at last to the point , straight and simple explanation won my heart ♥️♥️

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

    Wow amazing lecture
    Sabse acche meri pyari ma'am
    On of the best RUclips channel ❤

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

    Mam apko dekh kr apne app hi padne mai man lag jata hai.. Nice explanation

  • @mostafayounes9490
    @mostafayounes9490 10 месяцев назад

    Best Instructor Ever💯

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

    1M .....Let's Go....Congo Ma'am, you deserve much more !!!!

  • @sivasubramani612
    @sivasubramani612 4 года назад +10

    @Jenny, I think at 2:50 sec, we can't consider front at the right end and rear at the left end since this is a singly linked list and after deque (which will take O(n)) we can't change the rear pointer to point the previous node. What do you think? If its right. please give a like so that it will be on top and will help others.

  • @mohdehtesham8357
    @mohdehtesham8357 Год назад +2

    Just one note while running the code as is, the front and rear are globally initialized as NULL, so the functions dequeue(), display() and Peek() will always hit on the first condition. So, there is a need to either initialise the front and rear as local and pass those as arguments to the given functions or update the global pointers to the recent values as a whole.

  • @baraamayasa5190
    @baraamayasa5190 Год назад +2

    thanks for your great explanations the data structure more fun and a lot easier with your lessons
    in this code there is a little problem when the front and rear pointers referring to same node because front pointer will be null otherwise rear pointer will lost the node but in that situation must refer to null so we need to add that statement to the code.
    #include
    #include
    struct node{
    int data;
    struct node* next;
    };
    struct node* front=0;
    struct node* rear=0;
    void enqueue(int data){
    struct node* newNode=(struct node*)malloc(sizeof(struct node));
    newNode->data=data;
    newNode->next=0;
    if(front==0&&rear==0){
    front=rear=newNode;
    }
    else{
    rear->next=newNode;
    rear=newNode;
    }
    }
    void dequeue(){
    struct node* temp=front;
    if(front==0&&rear==0){ //&&rear==0
    printf("empty queue
    ");
    }
    else if(front==rear){
    //peek();
    front=rear=0;
    free(temp);
    }
    else{
    //peek();
    front=front->next;
    free(temp);
    }
    }
    void display(){
    struct node* temp=front;
    if(front==0&&rear==0){
    printf("empty queue
    ");
    }
    else{
    while(temp!=0){
    printf("%d\t",temp->data);
    temp=temp->next;
    }
    printf("
    ");
    }
    }
    void peek(){
    if(front==0&&rear==0){
    printf("empty queue
    ");
    }
    else
    printf("front data: %d
    ",front->data);
    }
    int main()
    {
    dequeue();
    enqueue(5);
    enqueue(0);
    peek();
    enqueue(-3);
    display();
    dequeue();
    dequeue();
    dequeue();
    dequeue();
    enqueue(11);
    peek();
    display();
    return 0;
    }

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

    Your teaching is best. Mam plz make videos of c programming also.

  • @AjeetKumar-mo6xt
    @AjeetKumar-mo6xt 3 года назад

    i can trust all your videos because your accuracy is around 100 percent

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

      I tried this code but its not working...linked list and array as well for queue ...both arent working.

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

    very nice explanation mam and at last your smile is speechless.......... this motivates me to see the next lecture of u without tiredness.
    thank u for giving us your precious time.

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

    Thanks for letting me understand the queue concisely.

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

    One of the best teacher in the online platform we are very lucky to have a great teacher like you TQ mam

  • @ducatidiavel9639
    @ducatidiavel9639 4 года назад +6

    Hello Ma'am, I have 2 questions,
    1) Given that the video is about a LL implementation of a linear Q, are there any rules that a circular linked list cannot be used, in place of a singly linked list with 2 pointers?
    2) And regarding your statement that a DLL using a head and tail pointer.. A DLL uses Nodes that only have a previous and next pointer right?

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

      1) A circular LL can be used here tho it will also contain the head and tail pointer like the singly LL used here; thus practically we will be using only the semi-circle of the CLL since our enqueuing and dequeuing are restricted between the head and tail pointer. Hence the last pointer of our CLL (from last node to first node) won't be of any use and simply be using memory space. Otherwise using a CLL is as good as singly LL.

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

    You have a MALAYALI English accent...good lecture.

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

    Great explanation ma'am.. Thanks to this video now I can do my home works peaceful...❤❤❤

  • @keya.bitspilani5429
    @keya.bitspilani5429 3 года назад +14

    How the hell had I not watched such good lectures on data structures..amazing explaination ma'am 😊😊

  • @princeverma-or7nc
    @princeverma-or7nc 3 года назад +1

    Great mind with great beauty ✨✨✨✨
    Thanks you mam ❤

  • @sharath5796
    @sharath5796 3 года назад +8

    note : while dequeue op, first we have to make temp->nxt as null and then free temp

    • @justcurious1940
      @justcurious1940 9 месяцев назад

      Do we make a memory address NULL before or after we free it ?

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

    god bless you mam.you are best teacher ever

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

    Ma'am apko jitna thank you bolo utna Kam h 😊❤ but thank you so much ma'am 💝💯 you are the best ❤🎉

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

    Ma'am you should come to my clg coz no facaulty is like you
    And no 1 teach like as you teach🤗

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

    to be honest I was distracted while going through the topic, its due to the beauty you hold mam.

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

    in dequeue(), there should also be a condition for when there is only 1 element in queue, that is,
    else if(front==rear)
    {
    Node *temp=new Node();
    temp=front;
    front=NULL;
    rear=NULL;
    free(temp);
    }

  • @Shubhampatil-du8ys
    @Shubhampatil-du8ys 5 лет назад +3

    Awesome explanation maam, this video help me a lot

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

    Thank for your explanation madam your teaching is very nice and clear madam

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

    Excellent teaching ma'am👌❤

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

    Thanks mam you make this topic very easy for me

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

    mam thankyou so much literally so made data structures easy peasy

  • @sudharsands5773
    @sudharsands5773 3 года назад +5

    Mam, you missed discussing a case in dequeue() i.e,, when front==rear.
    When front and rear is point same node

    • @justcurious1940
      @justcurious1940 9 месяцев назад

      U will have to update the rear or the whole code will break;

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

    Thankyou❤❤your lectures are really good

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

    Ma'm you are awesome I have learned many topics from your lectures. During this online classes .Online classes are of no use .Thank you ma'am for this Amazing lectures🙏

  • @raghavjoshi9751
    @raghavjoshi9751 Год назад +4

    Mam in deletion condition their should be one more condition that is
    else if(front==rear)
    {
    printf("deleted element is %d
    ",temp->data);
    front =rear=NULL;
    }
    cause in last else condition (front= front->next) that make the front to point to the next undefined memory

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

      Yes, I also noticed...that's why finding in comments

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

    ur explaination is just awesome like you mam

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

    mam super.i can understand ths ds through ur words

  • @avirupbanerjee3253
    @avirupbanerjee3253 4 года назад +4

    Mam why do we need to specify both front and rear while checking whether the list is empty or not. We can do it using rear only.

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

    Thank god we had an online like u mam, even ur lectures in online did it but not upto the point 😂

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

    Excellent Teaching Ma'am

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

    Thank you very much. You are a genius. 👍👍🔝🔝👌👌🙏🙏

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

    Nice explanation mam , Thank you.

  • @bhojpuri-short34
    @bhojpuri-short34 5 лет назад +3

    Thank you so much ! nice explanations

  • @Syntax-scribe-jsx
    @Syntax-scribe-jsx 11 месяцев назад

    mam in dequeue condition you have to write only if(front==NULL) it is sufficient condition but if you are writing front==NULL&&rear==NULL it will going to give wrong wrong output is if enqueue only one element and we delete it then the output window will be blank

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

    in dequeue you forgot to write the case for a single element, I mean front and rear points to same node, Which means only one element in queue, So we have to do (front=NULL and rear=NULL)

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

      That's exactly what i was going too comment

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

      I think there is one other way i.e., if we will use only front==0 instead of (front==0 and rear==0) at every place.

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

      else if(head==tail){
      std::cout

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

      @@qasimalikhan9692 thanks brother

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

    Thankyou for the wonderful explanation mam your lectures very helpful in this lockdown situation

  • @akashprince_07
    @akashprince_07 Месяц назад

    Where should I put void main function in program that should place in first or last ??

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

    Thank you so much 🙏 madam

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

    Mind Blowing Explanation Maam thank you :))

  • @fun.facts_videos
    @fun.facts_videos 11 месяцев назад

    thanks to you for saving my much time! superb!

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

    Crystal Clear.Thank You Very Much!!

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

    Please upload all videos on data structures we support you

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

    awesome explanation mam,thanks....,plzz make videos on sorting of linklist.

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

    Great Explanation.......

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

    Thank for you teaching mam any how I understand what u said

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

    Thank you so much mam ur vedios are quit easy to understand the concepts of data structures....thank you lotzzz😊😊

  • @PrabhatKumar-jl3se
    @PrabhatKumar-jl3se 5 лет назад +3

    thank you ma'am!!!!!

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

    So so thanks Ma'am... 🌻🌻🌻♥️♥️

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

    I have implemented the logic myself first and then watching the video 😁

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

    beautiful and very clear

  • @saritakumari-oh8fs
    @saritakumari-oh8fs 4 года назад

    Absolutely genious mam

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

    Mam, i think you miss one condition in dequeue, when the data being deleted is the last element, we have to make front= rear= null; after deletion.

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

    Very easily explained 👌

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

    Hii mam this is teja.. In enqueue you did the one mistake. That is in while loop your wrote the temp. Never temp equals to 0.You to do temp->next ==0

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

    Thank you ma'am ! That was really very helpful.

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

    Thank you for great explanation and putting so much effort mam 🙏

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

    Very clear ma'am
    Thank you ma'am ❤️🙏

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

    I came across a video here, I think you have a bug, in the dequeue function.
    You did not check the case if in the queue have only one element.
    Because then what happens ? You do not maintain the rear pointer.
    For example when you check if the queue is empty the test will not be correct!
    Say try if your program to run:
    enqueue then do dequeue and then print.
    The easy correction is, after front = front->next:
    if (front == NULL) rear = NULL;
    Besides it looks great channel, will start watching

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

    a small correction..... in dequeue operation, a new condition will come,
    if(rear==front && front!=0 && rear!=0){
    front =rear =rear->next;
    free(temp);
    }

  • @maishamolepo2216
    @maishamolepo2216 4 года назад +4

    Amazing content Jenny! Keep it up.

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

    Hello why are you assigning front and rear as 0 ? 0 can be a valid node instead of assigning it as 0 can we assign it as NULL? thanks.

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

    Awesome mam....Helps a lot

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

    while popping if there is only one node in the linked list that means front and rear pointing to the same node you are releasing that node and after that front is NULL and rear will point to some unknown location after that if u again try to pop error will come so pls correct the code or let me know if m wrong !!

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

    Thank you so much 😊♥️♥️♥️

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

    1)Why do we need to check in enqueue if(front==0 && rear ==0), we can check only front==0 alone?

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

    Mam God bless u

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

    Ma'am ! A request...Can you make a video series on data base Management system, please..?

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

    thanks for lectures where i can find the code files?

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

    Thanks Jenny Maam

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

    Mam pls ek tutorial computer organization pe 🙏🙏🙏🙏🙏🙏🙏