1
+ package com .udemy .dsapart1 .stacks ;
2
+ import java .util .Scanner ;
3
+ import java .util .Stack ;
4
+
5
+ public class SimpleStackOperations {
6
+
7
+ public static Stack <Double > firstStack ;
8
+
9
+ public static void main (String [] args ) {
10
+ Scanner scInpObj = new Scanner (System .in );
11
+ System .out .print ("\n Enter the size of Stack : " );
12
+ int sizeOfStack = scInpObj .nextInt ();
13
+ firstStack = new Stack <>();
14
+ //firstStack.setSize(sizeOfStack);
15
+ System .out .println ("\n Size of stack has been set." );
16
+ System .out .println ("\n Enter the stack elements : " );
17
+ pushElementsIntoStack (sizeOfStack );
18
+ System .out .println ("\n Input Stack : " + firstStack );
19
+ System .out .println ("\n Initial size of stack - " +firstStack .size ());
20
+ System .out .println ("\n Initial capacity of stack - " +firstStack .capacity ());
21
+
22
+ System .out .println ("\n Is the stack is Empty : " +firstStack .isEmpty ());
23
+ System .out .println ("***************** Perform Some Pop() & peek() operation LIFO (principle) **********************" );
24
+ System .out .println ("\n peek the item : " +firstStack .peek ());
25
+ System .out .println ("\n After peek Current Stack status : " +firstStack );
26
+ System .out .println ("\n pop the item : " +firstStack .pop ());
27
+ System .out .println ("\n pop the item : " +firstStack .pop ());
28
+ System .out .println ("\n After pop's Current Stack status : " +firstStack );
29
+ System .out .println ("\n pop the item : " +firstStack .pop ());
30
+ System .out .println ("\n Current Stack status : " +firstStack );
31
+ System .out .println ("\n peek the item : " +firstStack .peek ());
32
+ System .out .println ("\n Modifyed size of stack - " +firstStack .size ());
33
+ System .out .println ("\n Modifyed capacity of stack - " +firstStack .capacity ());
34
+
35
+ System .out .println ("***************** Perform insert operation **********************" );
36
+ firstStack .insertElementAt (112.0 , 4 );
37
+ System .out .println ("\n Inserting 112.0 at 4th position." );
38
+ firstStack .insertElementAt (150.0 , 3 );
39
+ System .out .println ("\n Inserting 150.0 at 3rd position." );
40
+ System .out .println ("\n Current new Stack status : " +firstStack );
41
+ firstStack .insertElementAt (166.0 , 5 );
42
+ System .out .println ("\n Inserting 166.0 at 5th position." );
43
+ System .out .println ("\n Current new Stack status : " +firstStack );
44
+
45
+ System .out .println ("***************** Perform remove operation **********************" );
46
+ System .out .println ("\n Remove by index operation status : " +firstStack .remove (3 ));
47
+ System .out .println ("\n Current new Stack status : " +firstStack );
48
+ System .out .println ("\n Remove by value operation status : " +firstStack .remove (150.0 ));
49
+ System .out .println ("\n 2nd Remove by value operation status : " +firstStack .remove (6.0 ));
50
+ System .out .println ("\n Current new final Stack status : " +firstStack );
51
+ System .out .println ("\n Final size of stack - " +firstStack .size ());
52
+ System .out .println ("\n Final capacity of stack - " +firstStack .capacity ());
53
+ }
54
+
55
+ private static void pushElementsIntoStack (int sizeOfStack ) {
56
+ Scanner scInp1Obj = new Scanner (System .in );
57
+ for (int i = 0 ; i < sizeOfStack ; i ++) {
58
+ System .out .print ("\n push the element No " + (i + 1 ) + " : " );
59
+ firstStack .push (scInp1Obj .nextDouble ());
60
+ }
61
+ }
62
+
63
+ }
0 commit comments