diff --git a/data_structures/stack/cpp/reverseSatck.cpp b/data_structures/stack/cpp/reverseSatck.cpp new file mode 100644 index 00000000..927ac465 --- /dev/null +++ b/data_structures/stack/cpp/reverseSatck.cpp @@ -0,0 +1,47 @@ +#include +#include +using namespace std; + + +void insertAtButtom(stack &st,int elem){ + if(st.empty()){ + st.push(elem); + return; + } + int topel= st.top(); + st.pop(); + insertAtButtom(st,elem); + + st.push(topel); + +} + +void reversestack(stack &st){ + if(st.empty()){ + return; + } + int elem=st.top(); + st.pop(); + reversestack(st); + insertAtButtom(st,elem); +} + +int main(){ + + stack st; + st.push(1); + st.push(2); + st.push(3); + st.push(4); + st.push(5); + reversestack(st); + + while (!st.empty()) + { + cout<