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

STL의 C++에서 deque_emplace

<시간/>

C++ STL에서 Deque emplace() 함수의 기능을 보여주는 작업이 주어집니다.

데크가 무엇인가요?

Deque는 양쪽 끝에서 확장 및 축소 기능을 제공하는 시퀀스 컨테이너인 Double Ended Queues입니다. 큐 데이터 구조는 사용자가 END에서만 데이터를 삽입하고 FRONT에서 데이터를 삭제할 수 있도록 합니다. 사람이 END에서만 대기열에 삽입될 수 있고 FRONT에 서 있는 사람이 가장 먼저 제거되는 반면 Double Ended 대기열에서는 데이터의 삽입 및 삭제가 양쪽에서 모두 가능한 버스 정류장의 대기열을 비유해 보겠습니다. 끝.

emplace( ) 함수란 무엇입니까?

emplace() 함수는 deque의 지정된 위치 앞에 새로운 요소를 삽입하고 요소의 크기만큼 deque를 늘립니다.

구문

iterator emplace(const_iterator position, value_type value);

매개변수

위치 − 컨테이너에서 새 요소가 삽입되는 위치를 정의합니다.

가치 − 또한 컨테이너에 삽입할 새 값 또는 인수를 정의합니다.

반환 가치 - deque에 새로 삽입된 요소를 가리키는 반복자를 반환합니다.

예시

입력 데크 - 96 97 98 100

출력 새 요소를 삽입한 후의 새 Deque − 96 97 98 99 100

입력 데크 - C P T A I N

출력 새 요소를 삽입한 후의 새 Deque − C A P T A I N

접근법을 따를 수 있음

  • 먼저 deque를 선언합니다.

  • 그런 다음 데크를 인쇄합니다.

  • 그런 다음 emplace( ) 함수를 정의합니다.

  • 그런 다음 새 요소를 삽입한 후 새 데크를 인쇄합니다.

위의 접근 방식을 사용하여 deque에 새 요소를 입력할 수 있습니다. emplace() 함수를 정의하는 동안 위치도 정의하고 deque에 삽입할 새 값도 정의합니다.

예시

// C++ code to demonstrate the working of deque emplace( ) function
#include<iostream.h>
#include<deque.h>
Using namespace std;
int main ( ){
   // initializing the deque
   Deque<int> deque = { 85, 87, 88, 89, 90 };
   // print the deque
   cout<< “ Deque: “;
   for( auto x = deque.begin( ); x != deque.end( ); ++x)
   cout<< *x << “ “;
   deque<int> iterator x;
   // defining the emplace( ) function
   deque.emplace(deque.emplace( ) + 1, 85);
   // printing deque after inserting new element
   cout<< “ New Deque:”;
   for( x = deque.begin( ) ; x != deque.end( ); ++x)
      cout<< “ “ <<*x;
   return 0;
}

출력

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

Input - Deque: 85 87 88 89 90
Output - New Deque: 85 86 87 88 89 90

예시

// C++ code to demonstrate the working of deque emplace( ) function
#include<iostream.h>
#include<deque.h>
Using namespace std;
int main( ){
   // initializing deque
   deque<char> deque ={ ‘L’ , ‘A’ , ‘C’ , ‘K’ };
   cout<< “ Deque: “;
   for( auto x = deque.begin( ); x != deque.end( ); ++x)
   cout<< *x << “ “;
   deque<int> iterator x;
   // defining the emplace( ) function
   deque.emplace(deque.emplace( ) , ‘B’)
   // printing deque in after inserting new element
   cout<< “ New deque:”;
   for( auto x = deque.begin( ) ; x >= deque.end( ); ++x)
      cout<< “ “ <<*x;
   return 0;
}

출력

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

Input – Deque: L A C K
Output – New Deque : B L A C K