Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Stacks
1. Stacks
• A stack is a container of objects that are inserted
and removed according to the last-in first-out
(LIFO) principle. In the pushdown stacks only
two operations are allowed: push the item into
the stack, and pop the item out of the stack.
2. Important Hints
• An array is a random access data structure,
where each element can be accessed directly and
in constant time. A typical illustration of random
access is a book - each page of the book can be
open independently of others. Random access is
critical to many algorithms, for example binary
search.
3. In Programming, a special type of data
structure in which items are removed in the
reverse order from that in which they are
added, so the most recently added item is the
first one removed. This is also called last-in,
first-out (LIFO).Adding an item to a stack is
called pushing. Removing an item from a stack
is called popping.
4.
5. Applications
• The simplest application of a stack is to reverse a
word. You push a given word to stack - letter by
letter - and then pop letters from the stack.
• Another application is an "undo" mechanism in
text editors; this operation is accomplished by
keeping all text changes in a stack.
• Backtracking. This is a process when you need
to access the most recent data element in a
series of elements.
6. Backtracking
• Once you reach a dead end, you must
backtrack. But backtrack to where? to the
previous choice point. Therefore, at each
choice point you store on a stack all possible
choices. Then backtracking simply means
popping a next choice from the stack.
7. Language processing:
• space for parameters and local variables is
created internally using a stack.
• compiler's syntax check for matching braces is
implemented by using stack.
• support for recursion
8. Stack Operations using Array
• 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])
9. • 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.
10. push(value) - Inserting value in 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...
11. • 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).
12. 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...
13. • 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--).
14. display() - Displays the elements of a Stack
• We can use the following steps to display the
elements of a stack...
15. • 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'.