void deleteBook(Book *head, char *ISBN) { Book *p = head->next; Book *pre = head; while (p != NULL && strcmp(p->ISBN, ISBN) != 0) { pre = p; p = p->next; } if (p == NULL) { printf("未找到指定的图书信息!\n"); } else { pre->next = p->next; free(p); printf("图书信息删除成功!\n"); } }
时间: 2024-04-04 14:35:56 浏览: 54
deleteBook.php
这是一个 C 语言函数,用于删除链表中指定 ISBN 号的图书信息。它的参数包括一个指向链表头结点的指针 head,以及一个指向要删除的图书 ISBN 号的字符指针 ISBN。
该函数首先定义了两个指针变量 p 和 pre,分别指向链表中当前节点和它的前一个节点。然后通过循环遍历链表,直到找到指定 ISBN 号的图书信息或者遍历完整个链表。
如果没有找到指定的图书信息,函数会输出一个提示信息。否则,函数会将前一个节点的 next 指针指向当前节点的下一个节点,然后释放当前节点的内存空间,最后输出一个删除成功的提示信息。
值得注意的是,该函数没有返回值,因为它直接修改了链表数据结构的内容。
阅读全文