Computer >> Máy Tính >  >> Lập trình >> C ++

toán tử danh sách =trong C ++ STL

Given là nhiệm vụ hiển thị hàm operator =function trong C ++ trong STL.

Danh sách trong STL là gì?

Danh sách là các vùng chứa cho phép chèn và xóa theo thời gian liên tục ở bất kỳ đâu theo trình tự. Listare được triển khai dưới dạng danh sách được liên kết kép. Danh sách cho phép cấp phát bộ nhớ không liền kề. Listperform thực hiện trích xuất chèn và di chuyển phần tử ở bất kỳ vị trí nào trong vùng chứa tốt hơn so với mảng, vectơ và deque. Trong Danh sách, truy cập trực tiếp vào phần tử chậm và danh sách tương tự như tontic_list, nhưng các đối tượng danh sách chuyển tiếp là danh sách được liên kết đơn và chúng chỉ có thể được lặp đi lặp lại.

Việc sử dụng operator =là gì?

Toán tử này được sử dụng để gán các phần tử mới vào danh sách bằng cách thay thế phần tử hiện có trong danh sách. Và nó sửa đổi kích thước của danh sách mới theo nội dung. Một vùng chứa khác mà chúng ta lấy phần tử mới có cùng kiểu dữ liệu của vùng chứa đầu tiên.

Cú pháp:listname1 =listname2

Ví dụ

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

Có thể tuân theo phương pháp tiếp cận

  • Đầu tiên, chúng tôi khởi tạo hai Danh sách.

  • Sau đó, chúng tôi sử dụng toán tử =.

  • Sau đó, chúng tôi in danh sách mới.

Bằng cách sử dụng phương pháp trên, chúng ta có thể gán phần tử mới vào danh sách. Hoạt động của toán tử này cũng tương tự như hàm swap (), toán tử này hoán đổi nội dung của list2 với list1, nhưng nó không hoán đổi nội dung của list1 với list2 và gán nội dung mới cho list1.

Ví dụ

// 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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên thì nó sẽ tạo ra kết quả sau

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

Ví dụ

// 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;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên thì nó sẽ tạo ra kết quả sau

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