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

C++ STL의 스택 스왑()

<시간/>

이 기사에서는 C++ STL에서 stack::swap() 함수의 작동, 구문 및 예제에 대해 논의할 것입니다.

C++ STL의 스택이란 무엇입니까?

스택은 데이터를 LIFO(Last In First Out)에 저장하는 데이터 구조로, 맨 위 또는 마지막에 삽입된 요소부터 삽입 및 삭제가 이루어집니다. 접시 더미와 마찬가지로 새 접시를 맨 위에 삽입한 스택으로 밀어넣고 스택에서 접시를 제거하려면 맨 위에서도 제거합니다.

스택::swap()이란 무엇입니까?

stack::swap() 함수는 헤더 파일에 정의된 C++ STL의 내장 함수입니다. swap()은 연관된 두 스택의 내용을 교환하는 데 사용됩니다. 이 함수는 컨테이너의 내용을 교환합니다.

구문

stack_name.swap(stack& stack2);

매개변수

이 함수는 다음 매개변수를 허용합니다. -

  • stack2:콘텐츠를 교환하려는 또 다른 스택 컨테이너입니다.

반환 값

이 함수는 아무 것도 반환하지 않습니다.

입력

std::stack<int>odd;
odd.emplace(1);
odd.emplace(3);
odd.emplace(5);
std::stack<int&g; eve;
eve.emplace(2);
eve.emplace(4);
eve.emplace(6);
odd.swap(eve);

출력

odd: 2 4 6
eve: 1 3 5

예시

#include <iostream>
#include <stack>
using namespace std;
int main(){
   stack<int> stck_1, stck_2;
   //inserting elements to stack 1
   stck_1.push(1);
   stck_1.push(2);
   stck_1.push(3);
   stck_1.push(4);
   //inserting elements to stack 2
   stck_2.push(5);
   stck_2.push(6);
   stck_2.push(7);
   stck_2.push(8);
   //swapping elements of stack 1 in stack 2 and vice-versa
   stck_1.swap(stck_2);
   cout<<"Elements in stack 1 are: ";
   while (!stck_1.empty()){
      cout<<stck_1.top()<<" ";
      stck_1.pop();
   }
   cout<<"\nElements in stack 2 are: ";
   while (!stck_2.empty()){
      cout<<stck_2.top()<<" ";
      stck_2.pop();
   }
   return 0;
}

출력

위 코드를 실행하면 다음 출력이 생성됩니다 -

Elements in stack 1 are: 8 7 6 5
Elements in stack 2 are: 4 3 2 1