Node createNodeint data Node newNode = NodemallocsizeofNode; newNode-data = data; newNode-prev = NULL; newNode-next = NULL; return newNode;void addNodeNode head int data Node newNo
Node* createNode(int data) - 创建一个新的节点,并将其数据初始化为给定的数据。返回一个指向新节点的指针。
Node* newNode = (Node*)malloc(sizeof(Node)); - 为节点分配内存空间。
newNode->data = data; - 将新节点的数据设置为给定的数据。
newNode->prev = NULL; - 将新节点的prev指针设置为NULL。
newNode->next = NULL; - 将新节点的next指针设置为NULL。
return newNode; - 返回指向新节点的指针。
void addNode(Node** head, int data) - 向链表中添加一个新节点,并将其数据初始化为给定的数据。
Node* newNode = createNode(data); - 创建一个新节点。
if (*head == NULL) - 如果链表为空。
*head = newNode; - 将新节点设置为头节点。
(*head)->next = *head; - 将头节点的next指针指向自身。
(*head)->prev = *head; - 将头节点的prev指针指向自身。
Node* last = (*head)->prev; - 获取链表中最后一个节点。
newNode->next = *head; - 将新节点的next指针指向头节点。
newNode->prev = last; - 将新节点的prev指针指向最后一个节点。
(*head)->prev = newNode; - 将头节点的prev指针指向新节点。
last->next = newNode; - 将最后一个节点的next指针指向新节点
原文地址: https://www.cveoy.top/t/topic/h310 著作权归作者所有。请勿转载和采集!