bool LinkDelete(LinkList*& L, int i)//单链表的删除
{
	//在带头结点的单链表L中,删除第i个位置
	LinkList* p, * q;
	int j;
	p = L;//p指向头节点
	j = 0;

	while((p->next)&&(j<i-1))//p指向i-1个节点
	{
		p = p->next;
		j++;
	}
	if (!(p->next) || (j > i - 1))
	{
		return false;
	}

	q = p->next;//q指向第i个节点
	p->next = q->next;
	delete q;
	return true;
}

5594bc4e45a379f52b44774e41f95baa.jpg