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

데이터 구조의 스택 ADT

<시간/>

추상 데이터 유형은 일련의 값과 일련의 작업에 의해 동작이 정의되는 특수한 종류의 데이터 유형입니다. 이러한 데이터 유형을 사용할 수 있으므로 "추상"이라는 키워드가 사용되며 다른 작업을 수행할 수 있습니다. 그러나 이러한 작업이 작동하는 방식은 사용자에게 완전히 숨겨져 있습니다. ADT는 원시 데이터 유형으로 구성되어 있지만 연산 논리가 숨겨져 있습니다.

여기에서 스택 ADT를 볼 수 있습니다. 이것은 스택 ADT의 몇 가지 작업 또는 기능입니다.

  • isFull(), 스택이 가득 찼는지 여부를 확인하는 데 사용됩니다.
  • isEmpry(), 스택이 비어 있는지 여부를 확인하는 데 사용됩니다.
  • push(x), x를 스택에 푸시하는 데 사용됩니다.
  • pop(), 스택의 맨 위에서 하나의 요소를 삭제하는 데 사용됩니다.
  • peek(), 스택의 최상위 요소를 가져오는 데 사용됩니다.
  • size(), 이 함수는 스택에 있는 요소의 수를 가져오는 데 사용됩니다.

예시

#include<iostream>
#include<stack>
using namespace std;
main(){
   stack<int> stk;
   if(stk.empty()){
      cout << "Stack is empty" << endl;
   } else {
      cout << "Stack is not empty" << endl;
   }
   //insert elements into stack
   stk.push(10);
   stk.push(20);
   stk.push(30);
   stk.push(40);
   stk.push(50);
   cout << "Size of the stack: " << stk.size() << endl;
   //pop and dispay elements
   while(!stk.empty()){
      int item = stk.top(); // same as peek operation
      stk.pop();
      cout << item << " ";
   }
}

출력

Stack is empty
Size of the stack: 5
50 40 30 20 10