추상 데이터 유형은 일련의 값과 일련의 작업에 의해 동작이 정의되는 특수한 종류의 데이터 유형입니다. 이러한 데이터 유형을 사용할 수 있으므로 "추상"이라는 키워드가 사용되며 다른 작업을 수행할 수 있습니다. 그러나 이러한 작업이 작동하는 방식은 사용자에게 완전히 숨겨져 있습니다. 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