Applications of Queue Data Structure

Queue is used when things don’t have to be processed immediatly, but have to be processed in First In First Out order like Breadth First Search. This property of Queue makes it also useful in following kind of scenarios.

1) When a resource is shared among multiple consumers. Examples include CPU scheduling, Disk Scheduling.
2) When data is transferred asynchronously (data not necessarily received at same rate as sent) between two processes. Examples include IO Buffers, pipes, file IO, etc.

See this for more detailed applications of Queue and Stack.

References:
http://introcs.cs.princeton.edu/43stack/





  • tejal chaskar

    void qinsert(node **front,node **rear)
    {
    node *newnode; /* New node to be inserted */
    newnode=(node*)malloc(sizeof(node));
    newnode->next=NULL;
    printf(“\nEnter the character to push\n”);
    fflush(stdin);
    scanf(“%c”,&(newnode->data));
    if(*front==NULL && *rear==NULL)
    {
    *front=newnode;
    *rear=newnode;
    }

  • Himanshu Aggarwal

    Do we also have an article on the application of dequeue structure/template class as well? I could not find any on geeksforgeeks.

    Regards,
    Himanshu

    • GeeksforGeeks

      @Himanshu Aggarwal

      Currenly we do not have a post on the application of dequeue structure/template class. We will be including this as part of the data structure/algo application series.