声明一个单链表结构体类型,在main()中新建一个带头结点链表,然后编码完成向链表里新增结点、删除结点的操作。
时间: 2024-09-24 22:22:28 浏览: 51
python实现获取单向链表倒数第k个结点的值示例
声明一个单链表结构体类型,通常可以包含两个成员变量:一个是存储数据的`data`,另一个是指向下一个节点的指针`next`。在C语言中,我们可以这样定义:
```c
typedef struct Node {
int data;
struct Node* next;
} ListNode;
// 函数声明
ListNode* createList(); // 创建空链表
void insertNode(ListNode** head, int value); // 在链表末尾插入新节点
void deleteNode(ListNode** head, int value); // 删除链表中值为value的节点
int main() {
// 新建一个带头结点的链表
ListNode* head = createList();
// 插入节点示例
insertNode(&head, 5);
insertNode(&head, 10);
insertNode(&head, 15);
// 打印链表内容 (这里假设有一个函数或递归遍历)
printf("Original list: ");
printList(head);
// 删除节点示例
deleteNode(&head, 10);
// 再次打印链表
printf("\nAfter deleting 10: ");
printList(head);
return 0;
}
```
在这个例子中,`createList()`函数负责创建一个新的空链表,`insertNode()`函数用于将新元素插入到链表的末尾,而`deleteNode()`函数则需要遍历链表找到要删除的节点并调整相邻节点的指针。
请注意,这个代码没有包括实际的`printList()`函数来遍历和显示链表的内容,你需要自行实现这个功能。同时,`deleteNode()`函数也需要考虑特殊情况,比如链表为空或需要删除的节点不是头节点的情况。
阅读全文