주어진 것은 C++에서 forward_list assign() 함수의 작동을 보여주는 작업입니다.
forward_list는 이전 요소뿐만 아니라 다음 요소와의 연결을 유지하는 일반 목록과 달리 다음 요소와의 연결만 유지하므로 순방향 및 역방향 반복에 도움이 됩니다. 하지만 forward_list는 순방향으로만 반복할 수 있습니다.
forward_list::assign() 함수는 C++ 표준 템플릿 라이브러리의 일부입니다. 순방향 목록 내부에 요소를 삽입하는 데 사용되며 목록에 이미 일부 요소가 포함되어 있으면 사용자가 추가한 새 요소로 대체됩니다.
이 함수를 호출하려면
구문
이 함수에는 3가지 유형의 구문이 있습니다. 각각 다른 방법에 대해 -
- Forward_list_name.assign(initializer_list);
- Forward_list_name.assign(반복자 itr1, 반복자 itr2);
- Forward_list_name.assign(카운트, 값);
매개변수
Initializer_list − 첫 번째 경우 정방향 목록은 동일한 순서로 초기화 목록으로 전달된 값을 가져옵니다.
반복자 - 두 번째 경우 순방향 목록은 itr1 및 itr2 반복자가 가리키는 값 사이에 포함된 값을 가져옵니다. 여기에는 itr1이 가리키는 값도 포함되지만 itr2가 가리키는 값은 포함되지 않습니다.
수 및 가치 − 세 번째 경우 매개변수 "count"는 forward list 내부에 삽입할 요소의 수를 나타내고 "value"는 각 요소에 할당해야 하는 값을 나타냅니다.
position은 새 요소가 배치되어야 하는 위치를 나타내고 value는 목록 내부에 삽입되어야 하는 요소를 나타냅니다.
반환 값
함수는 값을 반환하지 않습니다.
예시
Input: assign(5,1) Output: 1 1 1 1 1
설명 -
여기서 우리는 int 유형의 정방향 목록 "Lt"를 만들었습니다. 그런 다음 count 매개변수를 사용하여 목록에 값을 할당하기 위해 assign 함수를 사용했습니다. 및 가치 .
목록 "Lt"에 각각 값이 1인 5개의 요소를 할당하여 출력 1 1 1 1 1을 생성했습니다.
아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다. -
- 먼저 "Lt1", "Lt2" 및 "Lt3"이라고 합시다. int 유형의 전방 목록 3개를 만듭니다.
- 그런 다음 assign() 함수를 사용하여 이니셜라이저 목록을 매개변수로 전달하는 Lt1에 요소를 할당합니다.
- 그런 다음 할당 기능을 사용하여 개수와 값을 매개변수로 전달하는 Lt2에 요소를 할당합니다.
- 그런 다음 assign 함수를 사용하여 두 개의 반복자를 매개변수로 전달하는 Lt3에 요소를 할당합니다. Lt1 목록의 초기 위치와 마지막 위치를 각각 가리키는 것으로 가정하겠습니다.
알고리즘
Start Step 1->In function main() Declare forward_lists<int> Lt1,Lt2,Lt3 Call Lt1.assign(initialize list) Call Lt2.assign(count,value) Call Lt3.assign(L1.begin(),Lt2.end()) Stop
예시
#include <forward_list> #include <iostream> using namespace std; int main() { forward_list<int> Lt1; forward_list<int> Lt2; forward_list<int> Lt3; //assigning elements to Lt1 Lt1.assign({4,9,7,8}); //assigning elements to Lt2 Lt2.assign(3,6); //assigning elements to Lt2 Lt3.assign(Lt1.begin(),Lt1.end()); // Display the lists cout << "Lt1: "; for (int& D : Lt1) cout << D << " "; cout << endl; // Display Lt2 cout << "Lt2: "; for (int& D : Lt2) cout << D << " "; // Display Lt3 cout << "Lt3: "; for (int& D : Lt3) cout << D << " "; return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다 -
Lt1: 4 9 7 8 Lt2: 6 6 6 Lt3: 4 9 7 8