fork download
  1. //{ Driver Code Starts
  2. // Initial template for C++
  3.  
  4. #include <bits/stdc++.h>
  5. using namespace std;
  6.  
  7.  
  8. // } Driver Code Ends
  9. // User function template for C++
  10.  
  11. class Solution {
  12. public:
  13. void deleteMidFromStack(stack<int>& s, int sizeOfStack, int curr = 0) {
  14. if(curr == sizeOfStack / 2) {
  15. s.pop(); return;
  16. }
  17. int topElem = s.top();
  18. s.pop();
  19. deleteMidFromStack(s, sizeOfStack, curr + 1);
  20. s.push(topElem);
  21. }
  22. // Function to delete middle element of a stack.
  23. void deleteMid(stack<int>& s, int sizeOfStack) {
  24. // code here..
  25. deleteMidFromStack(s, sizeOfStack);
  26. }
  27. };
  28.  
  29. //{ Driver Code Starts.
  30. int main() {
  31. int t;
  32. cin >> t;
  33.  
  34. while (t--) {
  35. int sizeOfStack;
  36. cin >> sizeOfStack;
  37.  
  38. stack<int> myStack;
  39.  
  40. for (int i = 0; i < sizeOfStack; i++) {
  41. int x;
  42. cin >> x;
  43. myStack.push(x);
  44. }
  45.  
  46. Solution ob;
  47. ob.deleteMid(myStack, myStack.size());
  48. while (!myStack.empty()) {
  49. cout << myStack.top() << " ";
  50. myStack.pop();
  51. }
  52. cout << endl;
  53. }
  54. return 0;
  55. }
  56.  
  57. // } Driver Code Ends
Runtime error #stdin #stdout 0.04s 5272KB
stdin
Standard input is empty
stdout
Standard output is empty