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

溫馨提示×

如何在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
获嘉县| 广昌县| 水富县| 昂仁县| 桃园县| 腾冲县| 鄂托克旗| 利川市| 山西省| 乃东县| 镶黄旗| 八宿县| 沈阳市| 佛冈县| 晋州市| 库伦旗| 淮滨县| 拉萨市| 称多县| 西城区| 凉山| 天祝| 奉节县| 甘谷县| 吉首市| 诸城市| 上饶市| 福安市| 沁源县| 德阳市| 辽阳县| 曲靖市| 樟树市| 吴旗县| 青冈县| 兴文县| 高碑店市| 北流市| 瓦房店市| 南漳县| 屏山县|