ZBLOG

#include using namespace std; // 单链表节点定义 struct ListNode { int data; ListNode* next; }; // 头插法创建单链表 ListNode* createList(int n) { ListNode* head = new ListNode(); head->next = nullptr; for (int i = 0; i < n; +...

要保持输入的原始链表不倒序排列,只需要对头插法创建单链表部分进行修改即可。

将原来的头插法修改为尾插法,即每次在链表末尾添加新节点。

以下是修改后的代码:

// 尾插法创建单链表
ListNode* createList(int n) {
    ListNode* head = new ListNode();
    head->next = nullptr;
    ListNode* tail = head;

    for (int i = 0; i < n; ++i) {
        int num;
        cin >> num;

        ListNode* newNode = new ListNode();
        newNode->data = num;
        newNode->next = nullptr;
        
        tail->next = newNode; // 新节点添加到链表末尾
        tail = newNode; // 更新尾节点
    }

    return head;
}

通过使用尾插法创建单链表,保证了输入顺序和输出顺序一致。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=9572

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?