Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

STL에서 스택을 구현하는 C++ 프로그램

<시간/>

스택은 작업이 수행되는 특정 순서를 따르는 선형 데이터 구조입니다. 순서는 FILO(선입선출) 또는 LIFO(후입선출)일 수 있습니다.

알고리즘

Begin
   Declare stack vector.
   Take the input as per choice.
   Call the functions within switch operation:
   s.size() = Returns the size of stack.
   s.push() = It is used to insert elements to the stack.
   s.pop() = To pop out the value from the stack.
   s.top() = Returns a reference to the top most element of stack.
End.

예시 코드

#include <iostream>
#include <stack>
#include <string>
#include <cstdlib>
using namespace std;
int main() {
   stack<int> s;
   int c, i;
   while (1) {
      cout<<"1.Size of the Stack"<<endl;
      cout<<"2.Insert Element into the Stack"<<endl;
      cout<<"3.Delete Element from the Stack"<<endl;
      cout<<"4.Top Element of the Stack"<<endl;
      cout<<"5.Exit"<<endl;
      cout<<"Enter your Choice: ";
      cin>>c;
      switch(c) {
         case 1:
            cout<<"Size of the stack: ";
            cout<<s.size()<<endl;
         break;
         case 2:
            cout<<"Enter value to be inserted: ";
            cin>>i;
            s.push(i);
         break;
         case 3:
            i = s.top();
            if (!s.empty()) {
               s.pop();
               cout<<i<<" Deleted"<<endl;
            }else {
               cout<<"Stack is Empty"<<endl;
            }
         break;
         case 4:
            cout<<"Top Element of the Stack: ";
            cout<<s.top()<<endl;
            break;
         case 5:
            exit(1);
         break;
         default:
            cout<<"Wrong Choice"<<endl;
      }
   }
   return 0;
}

출력

1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 1
Size of the stack: 0
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 2
Enter value to be inserted: 1
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 2
Enter value to be inserted: 7
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 2
Enter value to be inserted: 6
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 2
Enter value to be inserted: 10
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 2
Enter value to be inserted: 4
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 1
Size of the stack: 5
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 3
4 Deleted
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit

Enter your Choice: 4
Top Element of the Stack: 10
1.Size of the Stack
2.Insert Element into the Stack
3.Delete Element from the Stack
4.Top Element of the Stack
5.Exit
Enter your Choice: 5

Exit code: 1