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指针指向新节点

Node createNodeint data Node newNode = NodemallocsizeofNode; newNode-data = data; newNode-prev = NULL; newNode-next = NULL; return newNode;void addNodeNode head int data Node newNo

原文地址: https://www.cveoy.top/t/topic/h310 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录