0% found this document useful (0 votes)
8 views4 pages

DSA-LAB_07 (Stack )

This document outlines the stack data structure, emphasizing its Last In, First Out (LIFO) nature and the basic operations such as Push, Pop, IsEmpty, IsFull, Peak, and Traverse. It details the implementation of stacks using arrays and linked lists, providing step-by-step procedures for operations like inserting and deleting elements. Additionally, it includes practical exercises and questions related to stack implementation in C++.

Uploaded by

fareedasoomro41
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views4 pages

DSA-LAB_07 (Stack )

This document outlines the stack data structure, emphasizing its Last In, First Out (LIFO) nature and the basic operations such as Push, Pop, IsEmpty, IsFull, Peak, and Traverse. It details the implementation of stacks using arrays and linked lists, providing step-by-step procedures for operations like inserting and deleting elements. Additionally, it includes practical exercises and questions related to stack implementation in C++.

Uploaded by

fareedasoomro41
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Practical # 07

Objective:
Define Stack and discuss all the operations performed on Stack.

Theory:
In this Lab, we discuss the stack data type. This data type supports Last In, First Out (LIFO)
data access. Contiguous (array) and linked structures are used for implementations.

Basic Operations
Here are the minimal operations we'd need for an abstract stack (and their typical names):
 Push( ): Places a value/object on the Top of the stack.
 Pop( ): Removes a value/object from the Top of the stack and produces that
value/object.
 IsEmpty( ): Reports whether the stack is empty or not.
 IsFull( ): Reports whether the stack is Full or not (for array implementation).
 Peak( ) : produces Top value/object of the stack without removing it.
 Traverse( ) : visit all elements from Top to Bottom without removing them.

Stack data structure can be implemented in two ways. They are as follows:

1. Using Array
2. Using Linked List

Lab Objectives:

 To be able to perform fundamental operations on stack.


Practical # 07 Page 1 of 4
Stack Operations using Array
A stack can be implemented using array as follows:
Before implementing actual operations: first follow the below steps to create an empty
stack.
 Step 1 - Include all the header files which are used in the program and define a constant
'SIZE' with specific value.
 Step 2 - Declare all the functions used in stack implementation.
 Step 3 - Create a one dimensional array with fixed size (int stack[SIZE])
 Step 4 - Define a integer variable 'top' and initialize with '-1'. (int top = -1)
 Step 5 - In main method, display menu with list of operations and make suitable function
calls to perform operation selected by the user on the stack.

push(value) - Inserting value into the stack


In a stack, push() is a function used to insert an element into the stack. In a stack, the new
element is always inserted at top position. Push function takes one integer value as
parameter and inserts that value into the stack. We can use the following steps to push an
element on to the stack.
 Step 1 - Check whether stack is FULL. (top == SIZE-1)
 Step 2 - If it is FULL, then display "Stack is FULL!!! Insertion is not possible!!!" and
terminate the function.
 Step 3 - If it is NOT FULL, then increment top value by one (top++) and set stack[top] to
value (stack[top] = value).

pop() - Delete a value from the Stack


In a stack, pop() is a function used to delete an element from the stack. In a stack, the
element is always deleted from top position. Pop function does not take any value as
parameter. We can use the following steps to pop an element from the stack...
 Step 1 - Check whether stack is EMPTY. (top == -1)
 Step 2 - If it is EMPTY, then display "Stack is EMPTY!!! Deletion is not possible!!!" and
terminate the function.
 Step 3 - If it is NOT EMPTY, then delete stack[top] and decrement top value by one (top--).

display() - Displays the elements of a Stack


We can use the following steps to display the elements of a stack...
 Step 1 - Check whether stack is EMPTY. (top == -1)
 Step 2 - If it is EMPTY, then display "Stack is EMPTY!!!" and terminate the function.
 Step 3 - If it is NOT EMPTY, then define a variable 'i' and initialize with top. Display
stack[i] value and decrement i value by one (i--).
 Step 3 - Repeat above step until i value becomes '0'.

Practical # 07 Page 2 of 4
C++ program: Write C++ program to implement stack using Array.

OUTPUT

Practical # 07 Page 3 of 4
Review Questions/ Exercise:

1. Explain the procedure of stack implementation using linked list.

____________________________________________________________ _________________________________________________

2. Write C++ program to implement the stack using linked list


__________________________________________________________
_____________________________________________________

3. Write a C++ program that uses stack operations to convert a given infix expression into its
postfix equivalent, Implement the stack using an array.

_______________________________________________________________________________________________________________

Name: _____
Roll #: _____
Date: _____

Subject Teacher
Remarks:

Practical # Page 4 of 4
07

You might also like