1 / 29

PRESENTATION OF STACK AND QUEUE

PRESENTATION OF STACK AND QUEUE. STACK. STACK:. A stack is a data linear data structure in which addition of new element or deletion of an existing element always takes place at the same end. This end is called as top of the stack

keenan
Download Presentation

PRESENTATION OF STACK AND QUEUE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PRESENTATION OF STACK AND QUEUE

  2. STACK

  3. STACK: • A stack is a data linear data structure in which addition of new element or deletion of an existing element always takes place at the same end. This end is called as top of the stack • When an item is added to a stack, the operation is called as push • when an item is removed from the stack, the operation is called as pop • stack is also called as last–in-first-out(LIFO).

  4. PUSH POP

  5. ALGORITHM FOR STACK : (push) PUSH (stack[MAX_SIZE],item) : This algorithm an item at the top of the stack[MAX_SIZE]. STEP-1: Initialize Set top = -1 STEP-2: Repeat step-3 to 5 until top<MAXSIZE-1 STEP-3: Read item STEP-4: Set top=top+1 STEP-5:Set stack[top]=item STEP-6:Print “stack overflow”

  6. C function for push operation on stack : int stack[5] , top = -1; void push( ) { int item; if (top<=4) { printf(“\n Enter the number”); scanf(“%d”, &item); top=top+1; stack [top] = item; } else { printf(“\n stack overflow”); } }

  7. Algorithm for stack: (pop) POP(stack[MAXSIZE],item) : This algorithm deletes an item from the top of the stack STEP-1: Repeat steps 2 to 4 until top>=0 STEP-2: Set item = stack [top] STEP-3: Set top = top - 1 STEP-4: Print No. deleted is , item STEP-5: Print stack underflow

  8. C function for pop operation on stack int stack [5],top; void pop ( ) { int item; if (top>=0) { item = stack [top]; top=top-1; printf("\n Number deleted is = %d ", item); } else { printf("\n stack is empty"); }}

  9. ADT Stack is objects: a finite ordered list with zero or more elements. functions: for all stack € Stack , item € element, maxStackSize € positive integer . Stack CreateS(maxStackSize)::= create an empty stack whose maximum size is maxStackSize Boolean IsFull( stack, maxStackSize )::= if(number of elements in stack==maxStackSize) return TRUE else return FALSE

  10. Stack Push( stack, item)::= if(IsFull(stack))stack Full else insert item into top of stack and return. Boolean IsEmpty(stack)::= if(stack==CreateS( maxStackSize ) return TRUE else return FALSE Element Pop(stack)::= if(IsEmpty(stack))return else remove and return the element at the top of the stack.

  11. Application of stack • Direct applications • Page-visited history in a Web browser • Undo sequence in a text editor • Saving local variables when one function calls another, and this one calls another, and so on. • Indirect applications • Auxiliary data structure for algorithms • Component of other data structures

  12. QUEUE

  13. QUEUE : • Queue is a linear data structure that permits the • insertion of new element at one end and • deletion of an element at the other end. • The end at which the deletion of an element takes • place is called as front and the end at • Which insertion of new element can take place is • called as rear. • Queue is also called as first-in-first-out (FIFO).

  14. BACK FRONT DEQUEUE ENQUEUE

  15. Algorithm for insertion of queue : QINSERT (Queue[MAXSIZE],item) : This algorithm inserts an item at the rear of queue [MAXSIZE] STEP-1: Initialisation. set front = -1 set rear = -1 STEP-2: Repeat steps 3 to 5 until rear<MAXSIZE -1 STEP-3: Read item STEP-4: If front = = -1 then

  16. front = 0 rear = 0 Else rear = rear + 1 STEP-5: Set Queue [Rear] = item STEP-6: Print, Queue overflow

  17. C function for insertion ofQueue : int queue [5], front = -1, rear = -1 ; Void queue ( ) { int item ; if (rear < 4) { printf(“\n Enter the number ”); scanf(“%d ” & item ); if (front = = -1 ) { front = 0 ; rear = 0; }

  18. else { rear = rear + 1 ; } queue [rear] = item ; } else { printf (“\n Queue is full”); } }

  19. Algorithm for deletion of queue : QDELETE (queue [MAXSIZE] , item ) : This algorithm deletes an item at the front of the queue [MAXSIZE]. STEP-1: Repeat steps 2 to 4 until front >= 0 STEP-2: Set item = queue [front] STEP-3: If front = = rear set front = -1 set rear = -1 else front = front + 1

  20. STEP-4: Print “ Number deleted is ”, item STEP-5: print “ Queue is empty ”

  21. C function for deletionoperation in queue : int queue [5] , front , rear ; void delete ( ) { int item ; If ( front ! = -1) { item = queue [front]; if (front = = rear ) { front = -1; rear = -1 ; }

  22. front = front +1 ; } printf (“\n Number deleted is = %d “, item ); } else { printf( “ Queue is empty”); } }

  23. ADT for Queue ADT Queue is objects: a finite ordered list with zero or more elements. functions: for all queue € Queue,item€ element ,maxQueueSize € positive integer

  24. Queue CreateQ(maxQueueSize)::=create an empty queue whose maximum size ismaxQueueSizeBoolean IsFullQ(queue,maxQueueSize)::=if(number of elements in queue==maxQueueSize) return TRUE else return FALSE

  25. Queue AddQ(queue,item)::=if(IsFullQ(queue))queueFullelse insert item at rear of queue and return queueBoolean IsEmptyQ(queue)::=if(queue==CreateQ(maxQueueSize)) return TRUEelse return FALSE

  26. Element DeleteQ(queue)::=if(IsEmptyQ(queue))returnelse remove and return the item at front of queue.

  27. APPLICATION OF QUEUE : 1)Serving requests of a single shared resource (printer, disk, CPU),transferring data asynchronously (data not necessarily received at same rate as sent) between two processes (IO buffers), e.g., pipes, file IO, sockets. 2) Call center phone systems will use a queue to hold people in line until a service representative is free.

  28. 3) When a resource is shared among multiple consumers. Examples include CPU scheduling, Disk Scheduling. 4) Buffers on MP3 players and portable CD players, iPod playlist. Playlist for jukebox – add songs to the end, play from the front of the list.

  29. THANK YOU

More Related