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

목록 연산자 =C++ STL

<시간/>

기능 목록 operator =function in C++를 STL로 표시하는 작업이 주어집니다.

STL의 목록이란 무엇입니까?

목록은 순서대로 어디에서나 일정한 시간 삽입 및 삭제를 허용하는 컨테이너입니다. Listare는 이중 연결 목록으로 구현됩니다. 목록은 비연속적인 메모리 할당을 허용합니다. 목록은 배열, 벡터 및 데크보다 컨테이너의 모든 위치에서 요소의 삽입 추출 및 이동을 더 잘 수행합니다. 목록에서 요소에 대한 직접 액세스는 느리고 목록은forward_list와 비슷하지만 앞으로 목록 개체는 단일 연결 목록이며 앞으로만 반복될 수 있습니다.

연산자 =?

의 용도는 무엇입니까?

이 연산자는 목록의 기존 요소를 교체하여 목록에 새 요소를 할당하는 데 사용됩니다. 그리고 내용에 따라 새 목록의 크기를 수정합니다. 새 요소를 가져오는 다른 컨테이너는 첫 번째 컨테이너와 동일한 데이터 유형을 갖습니다.

구문:listname1 =listname2

예시

Input List1: 50 60 80 90
List2: 90 80 70 60
Output List1: 90 80 70 60
Input List1: E N E R G Y
List2: C A P T I O N
Output List1: C A P T I O N

접근법을 따를 수 있음

  • 먼저 두 개의 List를 초기화합니다.

  • 그런 다음 =연산자를 사용합니다.

  • 그런 다음 새 목록을 인쇄합니다.

위의 접근 방식을 사용하여 목록에 새 요소를 할당할 수 있습니다. 이 연산자의 작업은 swap() 함수와 비슷합니다. 이 연산자는 list2의 내용을 list1과 바꾸지만 list1의 내용을 list2로 바꾸고 새 내용을 list1에 할당하지 않습니다.

예시

// C++ code to demonstrate the working of list = operator in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
int main ( ){
   // initializing two lists
   list<int> list1 = { 10, 20, 30, 40, 50 };
   cout<< “ List1: “;
   for( auto x = list1.begin( ); x != list1.end( ); ++x)
      cout<< *x << “ “;
   list<int> list2 = { 40, 50, 60, 70, 80 };
   cout<< “ List2: “;
   for( auto x = list2.begin( ); x != list2.end( ); ++x)
      cout<< *x << “ “;
   list1 = list2;
   // printing new content of list
   cout<< “ New contents of List1 is :”;
   for(auto x = list1.begin( ); x != list1.end( ); ++x)
      cout<< *x<< “ “;
   return 0;
}

출력

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

Input - List1: 10 20 30 40 50
List2: 40 50 60 70 80
Output - New content of List1 is: 40 50 60 70 80

예시

// C++ code to demonstrate the working of list = operator in STL
#include<iostream.h>
#include<list.h>
Using namespace std;
int main ( ){
   // initializing two lists
   list<char> list1 = { 'C', 'H', 'A', 'R', 'G', 'E', 'R' };
   cout<< " List1: ";
   for( auto x = list1.begin( ); x != list1.end( ); ++x)
      cout<< *x << " ";
   List<char> list2 = { 'P', 'O', 'I', 'N', 'T' };
   cout<< " List2: ";
   for( auto x = list2.begin( ); x != list2.end( ); ++x)
   cout<< *x << " ";
   list1 = list2;
   // printing new content of list
   cout<< " New contents of List1 is :";
   for(auto x = list1.begin( ); x != list1.end( ); ++x)
      cout<< *x<< " ";
   return 0;
}

출력

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

Input - List1: C H A R G E R
   List2: P O I N T
Output - New contents of List1 is: P O I N T