91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

c++ listnode反轉方法分享

c++
小樊
82
2024-07-24 14:18:13
欄目: 編程語言

在C++中實現鏈表節點的反轉可以通過迭代或遞歸兩種方法來實現。以下是其中一種方法的示例代碼:

#include <iostream>

struct ListNode {
    int val;
    ListNode* next;
    ListNode(int x) : val(x), next(NULL) {}
};

ListNode* reverseList(ListNode* head) {
    ListNode* prev = NULL;
    ListNode* curr = head;
    while (curr != NULL) {
        ListNode* next = curr->next;
        curr->next = prev;
        prev = curr;
        curr = next;
    }
    return prev;
}

void printList(ListNode* head) {
    while (head != NULL) {
        std::cout << head->val << " ";
        head = head->next;
    }
    std::cout << std::endl;
}

int main() {
    ListNode* head = new ListNode(1);
    head->next = new ListNode(2);
    head->next->next = new ListNode(3);
    head->next->next->next = new ListNode(4);

    std::cout << "Original list: ";
    printList(head);

    head = reverseList(head);

    std::cout << "Reversed list: ";
    printList(head);

    return 0;
}

該示例代碼中定義了一個節點結構體ListNode,并實現了reverseList函數來反轉鏈表。通過調用reverseList函數并打印結果,可以看到鏈表節點的順序被成功反轉。

0
乌拉特后旗| 甘谷县| 资讯| 昌宁县| 安远县| 涞水县| 定州市| 临桂县| 娄底市| 莫力| 雅江县| 深水埗区| 葫芦岛市| 绍兴县| 和硕县| 西林县| 龙岩市| 南通市| 浠水县| 邵阳县| 肃南| 阿拉善左旗| 辽中县| 土默特右旗| 萝北县| 罗源县| 遂宁市| 汨罗市| 武功县| 江川县| 湛江市| 杭州市| 白水县| 建瓯市| 石林| 孝义市| 当涂县| 禄丰县| 临西县| 永宁县| 临泉县|