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