C++에서 forward_list::emplace_after() 및 forward_list::emplace_front() 함수의 작동을 보여주는 작업이 제공됩니다.
forward_list는 이전 요소뿐만 아니라 다음 요소와의 연결을 유지하는 일반 목록과 달리 다음 요소와의 연결만 유지하므로 양방향 반복에 도움이 됩니다. 그러나 forward_list는 순방향으로만 반복할 수 있습니다.
forward_list::emplace_after() 및 forward_list::emplace_front() 함수는 C++ 표준 라이브러리의 일부입니다.
forward_list::emplace_after() 함수는 인수 내부에 지정된 위치의 요소 뒤에 목록 내부에 새 요소를 삽입하는 데 사용됩니다.
forward_list::emplace_front() 함수는 목록의 시작 부분에 요소를 삽입하는 데 사용됩니다.
forward_list::emplace_after()
구문
Forward_List_Name.emplace_after(iterator , element);
매개변수
이 함수는 두 개의 매개변수를 받아들입니다 -
반복자 , 반복자는 새 요소를 배치해야 하는 위치를 포함합니다.
요소 , 배치해야 하는 요소가 포함되어 있습니다.
반환 값
이 함수는 앞으로 목록 내부에 배치된 새 요소를 가리키는 반복자를 반환합니다.
forward_list::emplace_front()
구문
Forward_List_Name.emplace_front(element);
매개변수
이 함수는 하나의 매개변수를 허용합니다.
반환 값
함수는 아무 것도 반환하지 않습니다.
예시
Input: 11,34,56 Output: 41 11 34 56
설명 -
여기에서 요소가 11,34,56인 정방향 목록 Lt를 만들었습니다. 그런 다음 정방향 목록의 시작 부분에 새 요소를 삽입하는 데 사용되는 emplace_front() 함수를 호출했으며 여기에서 해당 요소는 41입니다.
따라서 정방향 목록을 인쇄할 때 생성된 출력은 41 11 34 56이며 첫 번째 요소는 41입니다.
아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다. -
- 먼저 목록을 만들고 int 유형의 "Lt"라고 말하고 값을 할당합니다.
- 그런 다음 emplace_front() 함수를 호출하여 목록의 시작 부분에 새 요소를 배치합니다.
- 그런 다음 auto 유형의 객체를 만들고 emplace_after() 위치에 전달할 위치를 저장하는 반복자로 작동하는 "itr"이라고 합시다. 그 옆에 새 요소가 배치됩니다. 목록의 끝이라고 가정해 보겠습니다.
- 그런 다음 emplace_after() 함수를 호출하여 지정된 위치에 요소를 입력합니다. 첫 번째 인수는 목록의 위치를 지정하는 반복자 "itr"이어야 하고 두 번째 인수는 해당 위치에 배치될 요소여야 합니다.
알고리즘
Start Step 1->In function main() Initialize forward_list<int> Lt={} Call function Lt.emplace_front() Initialize auto itr=Lt.end(); Call Lt.emplace_after(itr , element) End Stop
예시
#include<iostream> #include<list> using namespace std; int main() { forward_list<int> Lt = { 5,6,7,8 }; //Using the emplace_front() function to place element at the beginning. Lt.emplace_front(3); auto itr = Lt.end(); /*Using the emplace_after() function to place an element after the location specified*/ Lt.emplace_after(itr , 10) //Displaying the list for(auto itr = Lt.begin() ; itr!=Lt.end ; itr++) cout<<” *itr ”<<” ”; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
3 5 6 7 8 10