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

Chuyển tiếp danh sách hàm gán () trong C ++ STL

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

Danh sách chuyển tiếp chỉ giữ liên kết với phần tử tiếp theo không giống như danh sách bình thường giữ liên kết với các phần tử tiếp theo cũng như trước đó, giúp lặp lại theo hướng tiến cũng như lùi. Nhưng forward_list chỉ có thể lặp lại theo hướng phía trước.

Hàm forward_list ::gán () là một phần của thư viện mẫu chuẩn C ++. Nó được sử dụng để chèn các phần tử bên trong danh sách chuyển tiếp và nếu danh sách đã chứa một số phần tử thì chúng sẽ được thay thế bằng những phần tử mới do người dùng thêm vào.

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

Cú pháp

Có 3 loại cú pháp cho hàm này. Mỗi phương pháp khác nhau -

  • Forward_list_name.assign (initializer_list);
  • Forward_list_name.assign (trình lặp itr1, trình lặp itr2);
  • Forward_list_name.assign (số lượng, giá trị);

Tham số

Initializer_list - Trong trường hợp đầu tiên, danh sách chuyển tiếp nhận các giá trị được chuyển vào nó dưới dạng danh sách khởi tạo theo đúng thứ tự.

Trình lặp lại - Trong trường hợp thứ hai, danh sách chuyển tiếp nhận các giá trị được bao gồm giữa các giá trị đang được trỏ bởi các trình vòng lặp itr1 và itr2. Điều này cũng bao gồm giá trị được trỏ bởi itr1 nhưng không được trỏ bởi itr2.

số lượng và giá trị - Trong trường hợp thứ ba, tham số "count" đề cập đến số lượng phần tử được chèn vào bên trong danh sách chuyển tiếp và "value" đề cập đến giá trị phải được gán cho mỗi phần tử.

vị trí, đại diện cho vị trí mà tại đó phần tử mới phải được đặt và giá trị, đại diện cho phần tử phải được chèn vào bên trong danh sách.

Giá trị trả lại

Hàm không trả về bất kỳ giá trị nào.

Ví dụ

Input: assign(5,1)
Output: 1 1 1 1 1

Giải thích -

Ở đây chúng tôi đã tạo một danh sách chuyển tiếp “Lt” kiểu int. Sau đó, chúng tôi đã sử dụng hàm gán để gán () các giá trị cho danh sách bằng cách sử dụng các tham số count giá trị .

Điều đó đã gán danh sách “Lt” 5 phần tử mỗi phần tử có giá trị 1, tạo ra kết quả 1 1 1 1 1.

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 ba danh sách chuyển tiếp kiểu int, chúng ta hãy nói “Lt1”, “Lt2” và “Lt3”.
  • Sau đó, sử dụng hàm gán () để gán các phần tử cho Lt1, chuyển danh sách bộ khởi tạo làm tham số.
  • Sau đó, sử dụng hàm gán để gán các phần tử cho số lượng và giá trị truyền Lt2 làm tham số.
  • Sau đó, sử dụng hàm gán để gán các phần tử cho Lt3, chuyển hai trình vòng lặp làm tham số, giả sử chúng ta chỉ lần lượt vào vị trí ban đầu và vị trí cuối cùng của danh sách Lt1.

Thuật toán

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

Ví dụ

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

Đầu ra

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

Lt1: 4 9 7 8
Lt2: 6 6 6
Lt3: 4 9 7 8