#include <iostream>
#include <stack>
void deleteMiddleElement(std::stack<char> &st, int size, int current = 0) {
if (st.empty() || current == size) {
return;
}
char el = st.top();
st.pop();
deleteMiddleElement(st, size, current + 1);
if (current != size / 2) {
st.push(el);
}
}
int main() {
std::stack<char> st;
st.push('3');
st.push('5');
st.push('1');
st.push('m');
st.push('9');
st.push('2');
st.push('7');
deleteMiddleElement(st, st.size());
while (!st.empty()) {
char el = st.top();
st.pop();
std::cout << el << " ";
}
}
/*
run:
7 2 9 1 5 3
*/