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

Liệt kê hàm gán () trong C ++ STL

Đã cho là nhiệm vụ thứ để hiển thị hoạt động của hàm gán () trong C ++.

Hàm list ::gán () là một phần của thư viện mẫu chuẩn C ++. Nó được sử dụng để gán các giá trị cho một danh sách và cũng để sao chép các giá trị từ danh sách này sang danh sách khác.

Tệp tiêu đề nên được bao gồm để gọi hàm này.

Cú pháp

Cú pháp để gán giá trị mới như sau -

List_Name.assign(size,value)

Cú pháp

Cú pháp để sao chép các giá trị từ danh sách này sang danh sách khác như sau -

First_List.assign(Second_List.begin(),Second_list.end())

Tham số

Hàm nhận hai tham số -

Đầu tiên là kích thước, đại diện cho kích thước của danh sách và thứ hai là giá trị, đại diện cho giá trị dữ liệu được lưu trữ bên trong danh sách.

Giá trị trả lại

Hàm không có giá trị trả về.

Ví dụ

Input: Lt.assign(3,10)
Output: The size of list Lt is 3.
The elements of the list Lt are 10 10 10.

Giải thích -

Ví dụ sau đây cho thấy cách chúng ta có thể gán kích thước và giá trị cho một danh sách bằng cách sử dụng hàm gán (). Giá trị đầu tiên mà chúng ta sẽ chuyển vào bên trong hàm danh sách trở thành kích thước của danh sách, trong trường hợp này là 3 và phần tử thứ hai là giá trị được gán cho từng vị trí của danh sách và ở đây là 10.

Ví dụ

Input: int array[5] = { 1, 2, 3, 4 }
Lt.assign(array,array+3)
Output: The size of list Lt is 3.
The elements of the list Lt are 1 2 3.

Giải thích -

Ví dụ sau đây cho thấy cách chúng ta có thể gán giá trị cho một danh sách bằng cách sử dụng một mảng. Tổng số phần tử mà chúng tôi sẽ gán cho danh sách sẽ trở thành kích thước của danh sách.

Người dùng chỉ cần chuyển tên của mảng làm đối số đầu tiên bên trong hàm gán () và đối số thứ hai phải là tên của mảng, sau đó là dấu “+” theo sau là số phần tử mà người dùng muốn gán vào danh sách.

Trong trường hợp trên, chúng tôi đã viết 3, vì vậy ba phần tử đầu tiên của mảng sẽ được gán cho danh sách.

Nếu chúng ta viết một số lớn hơn số phần tử có trong mảng, giả sử là 6, thì chương trình sẽ không hiển thị bất kỳ lỗi nào thay vào đó kích thước của danh sách sẽ trở thành 6 và các vị trí thừa trong danh sách sẽ được gán. với giá trị bằng không.

Phương pháp tiếp cận được sử dụng trong chương trình dưới đây như sau -

  • Đầu tiên, hãy tạo một hàm ShowList (list L) sẽ hiển thị các phần tử của danh sách.
  • Tạo một trình lặp, giả sử nó sẽ chứa phần tử đầu tiên của danh sách sẽ được hiển thị.
  • Làm cho vòng lặp chạy cho đến khi nó đạt đến phần tử cuối cùng của danh sách.
  • Sau đó, bên trong hàm main () tạo ba danh sách bằng cách sử dụng list , giả sử L1, L2 ad L3 để chúng chấp nhận các giá trị của kiểu int và sau đó tạo một mảng kiểu int, giả sử arr [] và gán nó một số giá trị.
  • Sau đó, sử dụng hàm gán () để gán kích thước và một số giá trị cho danh sách L1 rồi chuyển danh sách L1 vào hàm ShowDisplay ().
  • Sau đó, sử dụng hàm gán () để sao chép các phần tử của danh sách L1 vào L2 và cũng chuyển danh sách L2 vào hàm ShowList ().
  • Sau đó, sử dụng hàm gán () để sao chép các phần tử của mảng arr [] vào danh sách L3 và chuyển danh sách L3 vào hàm DisplayList ().

Thuật toán

Start
Step 1-> Declare function DisplayList(list<int> L) for showing list elements
   Declare iterator itr
   Loop For itr=L.begin() and itr!=L.end() and itr++
   Print *itr
   End
Step 2-> In function main()
   Declare lists L1,L2,L3
   Initialize array arr[]
   Call L1.assign(size,value)
   Print L1.size();
   Call function DisplayList(L1) to display L1
   Call L2.assign(L1.begin(),L1.end())
   Print L2.size();
   Call function DisplayList(L2) to display L2
   Call L3.assign(arr,arr+4)
   Print L3.size();
   Call function DisplayList(L3) to display L3
Stop

Ví dụ

#include<iostream>
#include<list>
using namespace std;
int ShowList(list<int> L) {
   cout<<"The elements of the list are ";
   list<int>::iterator itr;
   for(itr=L.begin(); itr!=L.end(); itr++) {
      cout<<*itr<<" ";
   }
   cout<<"\n";
}
int main() {
   list<int> L1;
   list<int> L2;
   list<int> L3;
   int arr[10] = { 6, 7, 2, 4 };
   //assigning size and values to list L1
   L1.assign(3,20);
   cout<<"The size of list L1 is "<<L1.size()<<"\n";
   ShowList(L1);
   //copying the elements of L1 into L3
   L2.assign(L1.begin(),L1.end());
   cout<<"The size of list is L2 "<<L2.size()<<"\n";
   ShowList(L2);
   //copying the elements of arr[] into list L3
   L3.assign(arr,arr+4);
   cout<<"The size of list is L3 "<<L3.size()<<"\n";
   ShowList(L3);
   return 0;
}

Đầu ra

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

The size of list L1 is 3
The elements of the list are 20 20 20
The size of list L2 is 3
The elements of the list are 20 20 20
The size of list L3 is 4
The elements of the list are 6 7 2 4

Giải thích

Đối với danh sách L1, chúng tôi đã đưa kích thước là 3 và giá trị là 20 trong hàm gán () đã tạo ra kết quả ở trên.

Sau đó, chúng tôi sao chép các phần tử của danh sách L1 vào L2 đó để cho L2 có cùng kích thước và giá trị như của L1 như chúng ta có thể thấy trong đầu ra.

Sau đó, chúng tôi sử dụng hàm gán để sao chép tất cả các phần tử của mảng arr [] làm cho kích thước của L3 bằng 4 và các phần tử của nó giống với các phần tử của mảng như trong đầu ra.