美文网首页
在单链表的头部或者尾部插入节点

在单链表的头部或者尾部插入节点

作者: 残剑天下论 | 来源:发表于2019-12-15 16:25 被阅读0次
#include <iostream>
using namespace std;
struct ListNode {
    int val;
    ListNode *next;
    ListNode(int x): val(x), next(NULL){}
};

void My_Printf(ListNode* L)
{
    cout << "List is: ";
    ListNode* cur = L;
    while (cur)
    {
        cout << cur->val << "->";
        cur = cur->next;
    }
    cout << endl;
}

ListNode* InsertNodeInHead(ListNode* head, int item)
{
    ListNode* node = new ListNode(item);
    node->next = head;
    return node;
}

ListNode* InsertNodeInTail(ListNode* head, int item)
{
    ListNode* node = new ListNode(item);
    ListNode* cur = head;
    while (cur->next != NULL)
    {
        cur = cur->next;
    }
    node->next = cur->next;
    cur->next = node;
    return head;
}

int main()
{
    ListNode* n1 = new ListNode(5);
    ListNode* n2 = new ListNode(15);
    ListNode* n3 = new ListNode(20);
    ListNode* n4 = new ListNode(35);
    ListNode* n5 = new ListNode(45);
    ListNode* n6 = new ListNode(50);
    
    ListNode* m1 = new ListNode(15);
    ListNode* m2 = new ListNode(35);
    ListNode* m3 = new ListNode(50);
    ListNode* m4 = new ListNode(55);
    
    n1->next = n2;
    n2->next = n3;
    n3->next = n4;
    n4->next = n5;
    n5->next = n6;
    
    m1->next = m2;
    m2->next = m3;
    m3->next = m4;
    
    My_Printf(n1);
    My_Printf(m1);

    ListNode* nodeHead = InsertNodeInHead(n1, 100);
    ListNode* nodeTail = InsertNodeInTail(n1, 100);
    My_Printf(nodeHead);
    My_Printf(nodeTail);
}

相关文章

  • Python--单向链表

    单链表python实现 节点实现 单链表操作 头部插入 尾部添加 在index位置插入 删除结点

  • 优先级队列中采用的链表结构分析

    1、向链表尾部增加一个节点 对应代码: 2、向链表头部删掉一个节点 对应代码: 3、向链表指定的节点前插入一个节点...

  • 数据结构之链表及其栈和队列的实现

    链表的基本操作 定义 从链表头部插入元素 从链表头部删除元素 从链表尾部插入元素 从中间插入和删除结点 栈和对列的...

  • 双向链表python实现

    python 双向链表实现 双向链表实现 链表头部添加 链表尾部添加 插入 删除 查询结点

  • HashMap线程不安全?ConcurrentHashMap线程

    hashmap生成的链表在jdk1.8之前是插入头部的,在jdk1.8中是插入尾部的。 至于为什么要插入到头部,因...

  • HashMap面试总结

    HashMap原理总结 问题: 1.为什么7头部插入,8改成尾部插入? 7为了提升效率,尾部插入需要遍历链表,同时...

  • 链表基本操作

    1、删除单链表节点 2、插入单链表结点 单链表具体实现

  • 链表

    链表注重引用、数组注重位置 单向链表:从头部开始,依次增加当前节点下一个节点的指向双端链表:记录尾部节点,优化单向...

  • [算法学习]--判断链表是否有环

    单链表有环,是指单链表中某个节点的next指针域指向的是链表中在它之前的某一个节点,这样在链表的尾部形成一个环形结...

  • 5.2. 在循环单链表的末尾插入节点

    在循环单链表的末尾插入节点有两种情况。 第一种情况:将节点插入空链表中,第一种情况:将节点插入非空链表中。首先,使...

网友评论

      本文标题:在单链表的头部或者尾部插入节点

      本文链接:https://www.haomeiwen.com/subject/fgsdnctx.html