sách gpt4 ăn đã đi

Tìm hiểu cách hợp nhất hai danh sách liên kết có thứ tự bằng C++

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 32 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN này sẽ hướng dẫn các bạn cách sử dụng C++ để hợp nhất hai danh sách liên kết có thứ tự. Nó được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ like nhé.

Hợp nhất hai danh sách liên kết tăng dần thành một danh sách liên kết tăng dần mới và quay lại. Danh sách liên kết mới được hình thành bằng cách nối tất cả các nút của hai danh sách liên kết đã cho.

Ví dụ 1:

Đầu vào: l1 = [1,2,4], l2 = [1,3,4].

Đầu ra: [1,1,2,3,4,4].

Tìm hiểu cách hợp nhất hai danh sách liên kết có thứ tự bằng C++

Ví dụ 2:

Đầu vào: l1 = [], l2 = [].

Đầu ra: [] .

Ví dụ 3:

Đầu vào: l1 = [], l2 = [0].

Đầu ra: [0] .

  。

Ý tưởng

Có thể hiểu đơn giản là: Duyệt 2 danh sách liên kết cùng lúc, nút nào hiện đang được duyệt nhỏ hơn, chỉ cần “bóc” nút đó ra và “cài đặt” nó vào danh sách liên kết mới.

Để xử lý đơn giản và thuận tiện ở đây, trước tiên một nút đầu được "cài đặt" cho danh sách liên kết mới.

Tìm hiểu cách hợp nhất hai danh sách liên kết có thứ tự bằng C++

  。

mã số

/*** Định nghĩa cho danh sách liên kết đơn.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x ), next(nullptr) {}* ListNode(int x, ListNode *next) : val(x), next(next) {}* };*/class Giải pháp {public: ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { // Sử dụng danh sách liên kết với nút đầu để giải quyết vấn đề // Phần đầu của danh sách liên kết sẽ là đầu ra ListNode* head = new ListNode; // Nút này là một con trỏ và cần có new để mở không gian // Nút cuối cùng của danh sách liên kết được xuất ra ListNode* Last = head //last và head giống nhau, chỉ để tìm phần đầu trong khi xuất kết quả cuối cùng; (l1 != nullptr && l2 != nullptr){ //Điều kiện vòng lặp if(l1->val < l2->val){ Last->next = l1; //last->next trỏ tới l1 l1 = l1->next; Thay đổi nút tiếp theo thành l1 } else{ Last->next = l2; l2 = l2->next } Last = Last->next; // Thay đổi nút tiếp theo của Last thành Last } // l1 Hoặc l2 có thể có các nút còn lại chưa được hợp nhất // Kể từ khi thoát khỏi vòng lặp while ở trên, ít nhất một trong các danh sách liên kết l1 và l2 đã được duyệt qua if(l1 != nullptr){ Last->next = l1. ; } else if(l2 != nullptr){ cuối->next = l2 } return head->next }};

  。

Giới thiệu chi tiết về danh sách liên kết Listnode

Định nghĩa nút danh sách.

struct ListNode { int val; //Xác định giá trị biến val, lưu trữ giá trị nút struct ListNode *next; Xác định con trỏ tiếp theo, trỏ đến nút tiếp theo, duy trì kết nối nút}

1. Nút lưu trữ hai biến: giá trị và tiếp theo.

value là giá trị của nút này, .

next là một con trỏ tới nút tiếp theo, .

Khi next là con trỏ null thì nút này là nút cuối cùng của danh sách liên kết.

2. Lưu ý rằng val chỉ đại diện cho giá trị của con trỏ hiện tại.

Ví dụ: p->val đại diện cho giá trị được trỏ bởi con trỏ p;

Và p->next đại diện cho nút tiếp theo trong danh sách liên kết, cũng là một con trỏ.

3. Hàm tạo chứa hai tham số _value và _next, được sử dụng để gán giá trị cho các nút và chỉ định nút tiếp theo tương ứng.

  。

Tóm tắt

Bài viết này kết thúc ở đây tôi hy vọng nó có thể hữu ích cho bạn. Tôi cũng hy vọng bạn có thể chú ý hơn đến nội dung của tôi.

Liên kết gốc: https://blog.csdn.net/weixin_49358890/article/details/119208885.

Cuối cùng, bài viết về cách sử dụng C++ để hợp nhất hai danh sách liên kết có thứ tự đã có tại đây. Nếu bạn muốn biết thêm về cách sử dụng C++ để hợp nhất hai danh sách liên kết có thứ tự, vui lòng tìm kiếm bài viết CFSDN. bạn sẽ ủng hộ blog của tôi trong tương lai! .

32 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress