void push_tail(struct LinkList* list, struct Node* temp) { temp->pro = list->head; temp->next = list->tail; list->tail->pro = temp; list->head->next = temp; list->head = temp; }优化一下这个代码,使用双向链表的头插法
时间: 2024-03-18 17:43:12 浏览: 51
链表-头插法,尾插法,中间插入.zip
void push_head(struct LinkList* list, struct Node* temp) {
temp->next = list->head->next;
temp->pro = list->head;
list->head->next->pro = temp;
list->head->next = temp;
list->tail = (list->tail == list->head) ? temp : list->tail;
}
这是使用双向链表头插法的代码。需要注意的是,当链表为空时,头尾节点都需要指向新插入的节点。因此,需要判断一下链表是否为空。
阅读全文