中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

如何在C++中逆轉單鏈表

c++
小樊
83
2024-07-16 20:14:52
欄目: 編程語言

以下是在C++中逆轉單鏈表的示例代碼:

#include <iostream>

struct Node {
    int data;
    Node* next;
    
    Node(int val) : data(val), next(nullptr) {}
};

Node* reverseLinkedList(Node* head) {
    Node* prev = nullptr;
    Node* current = head;
    Node* next = nullptr;
    
    while (current != nullptr) {
        next = current->next;
        current->next = prev;
        prev = current;
        current = next;
    }
    
    return prev;
}

void printLinkedList(Node* node) {
    while (node != nullptr) {
        std::cout << node->data << " ";
        node = node->next;
    }
    std::cout << std::endl;
}

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

    std::cout << "Original Linked List: ";
    printLinkedList(head);

    head = reverseLinkedList(head);

    std::cout << "Reversed Linked List: ";
    printLinkedList(head);

    return 0;
}

在這個示例中,我們定義了一個簡單的Node結構來表示鏈表的節點,并實現了reverseLinkedList函數來反轉鏈表。我們還實現了printLinkedList函數來打印鏈表的內容。在main函數中,我們創建了一個包含三個節點的鏈表,并打印出原始鏈表和反轉后的鏈表。

0
晴隆县| 县级市| 湘西| 广水市| 崇阳县| 奉新县| 嘉禾县| 新野县| 乌拉特前旗| 华池县| 通州市| 富源县| 金华市| 兴仁县| 舟山市| 恩平市| 博客| 进贤县| 河池市| 平乡县| 泰安市| 通渭县| 墨江| 迁西县| 伊春市| 伊金霍洛旗| 昭通市| 云林县| 渭源县| 资源县| 蓝山县| 顺昌县| 杭锦后旗| 乐至县| 三穗县| 雅江县| 明水县| 澎湖县| 钟祥市| 屏东县| 辽宁省|