From 7f9555bd947fcb2292514642655810dd59d02c87 Mon Sep 17 00:00:00 2001 From: Anuj Rathour Date: Sat, 7 Oct 2023 23:07:57 +0530 Subject: [PATCH] Update stack readme.md (#4678) --- .../datastructures/stacks/README.md | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/thealgorithms/datastructures/stacks/README.md b/src/main/java/com/thealgorithms/datastructures/stacks/README.md index 69fc3a990..55c3ffd7d 100644 --- a/src/main/java/com/thealgorithms/datastructures/stacks/README.md +++ b/src/main/java/com/thealgorithms/datastructures/stacks/README.md @@ -1,10 +1,14 @@ # STACK -Stack is an ADT (abstract data type) that acts like a list of objects but there is a difference. +- Stack is an ADT (abstract data type) that is a collection of elements where items are added and removed from the end, known as the "top" of the stack. -Stack works on the principle of _LIFO_ (Last In First Out), it means that the last item added to the stack will be the first item to be removed. +- Stack works on the principle of _LIFO_ (Last In First Out), it means that the last item added to the stack will be the first item to be removed. -Stack is based on two methods (functions)- +## Declaration + `Stack stack=new Stack();` + +# Functionalities +Stack is based on two functions (methods)- ## push(element) @@ -29,3 +33,13 @@ It removes the last element (i.e. top of stack) from stack. For example: If we have `1, 3, 5 , 9` in stack, and we call pop(), the function will return `9` and the stack will change to `1, 3, 5`. + +# Real Life Applications + - `Undo mechanisms:` + Many software applications use stacks to implement an "undo" feature. + + - `Browser history:` + The "back" button in a web browser is implemented using a stack, allowing users to navigate through previously visited pages. + + - `Function calls and recursion:` + The computer's call stack keeps track of function calls, allowing programs to remember where to return after a function finishes execution.