1. 链表为空时,直接用ins 数据创建链表;
2. 若链表中不存在 data 数据的结点,那么以尾插的方式插入 ins 数据
若链表中存在 data 数据的结点,在该结点前插入 ins 数据
int slist_insert(NODE** head, DATA data, DATA ins)
{
NODE* pNew = (NODE*)malloc(sizeof(NODE));
if (!pNew)
{
puts("错误!");
return -1;
}
pNew->data = ins;
pNew->next = NULL;
NODE* p = *head;
if (*head == NULL)
{
*head = pNew;
}
else
{
for (int i = 0; i < data - 1-1; i++)
{
p = p->next;
if (p == NULL)
{
p = pNew;
return 0;
}
}
pNew->next = p->next;
p->next = pNew;
return 0;
}
}