编写程序实现单链表的插入和删除操作,要求定义两个自定义函数,分别实现插入和删除,自己编写主函数进行插入和删除的调用验证。 结构体定义如下: typedef struct Lnode / * 结点类型定义 * / { ElementType data; struct Lnode *next; / * 指向下一个结点的指针域 * / } ListNode; typedef ListNode * LinkList; void InsList(LinkList head,int i, int x) /* 在带头结点的单链表 head 中第 i 个位置(前)插入值为 x 的新结点 */ { ... } void DelList(LinkList head, int i)/* 在带头结点的单链表 head 中删除第 i 个结点 */ { ... } main() { // 创建单链表 // 调用插入函数 // 调用删除函数 ... }