3
、删除上述单链表中指定位置的元素。
以下是程序部分代码,请调试并补充使之正确运行:
1.
LinList.h
typedef struct Node
{
DataType data;
struct Node *next;
} SLNode;
void ListInitiate(SLNode **head)
/*
初始化
*/
{
/*
如果有内存空间,申请头结点空间并使头指针
head
指向头结点
*/
if((*head = (SLNode *)malloc(sizeof(SLNode))) == NULL) exit(1);
(*head)->next = NULL;
/*
置链尾标记
NULL */
}
int ListLength(SLNode *head)
{
SLNode *p = head;
/*p
指向首元结点
*/
int size = 0;
/*size
初始为
0*/
while(p->next != NULL)
/*
循环计数
*/
{
p = p->next;
size ++;
}
return size;
}
int ListInsert(SLNode *head, int i, DataType x)
/*
在带头结点的单链表
head
的数据元素
ai
(
0
≤
i
≤
size
)结点前
*/