c_cpp 在Doubly链表中插入一个节点 - GeeksforGeeks

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 在Doubly链表中插入一个节点 - GeeksforGeeks相关的知识,希望对你有一定的参考价值。

/*
http://www.practice.geeksforgeeks.org/problem-page.php?pid=700232
http://quiz.geeksforgeeks.org/doubly-linked-list/
*/
/* a node of the doubly linked list 
struct node
{
  int data;
  struct node *next;
  struct node *prev;
}; */
/* Function to reverse a Doubly Linked List */

void addNode(struct node **head_ref,int pos,int data)
{
    struct node* newNode = (struct node*)malloc(sizeof(struct node));
    newNode->data = data;
    newNode->next = NULL;
    newNode->prev = NULL;
    
    if(*head_ref == NULL){
        *head_ref = newNode;
        return;
    }
        struct node* current = *head_ref;
        struct node* nextNode = *head_ref;
        while(pos > 0){
            current = current->next;
            pos--;
        }
        nextNode = current->next;
        newNode->next = nextNode;
        newNode->prev = current;
        current->next = newNode;
        if(nextNode != NULL)
            nextNode->prev = newNode;
        
}

以上是关于c_cpp 在Doubly链表中插入一个节点 - GeeksforGeeks的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 在链表中排列辅音和元音节点

c_cpp 删除O(1)中链表中的节点

c_cpp 检测链表中循环或循环的起始节点

c_cpp 从已排序的链表中删除重复值节点 - Hackerrank

如何在链表中的另一个节点之间插入一个节点?

在给定节点之后将新节点插入到双向链表中