删除无头结点单链表中第i个元素的算法?

来源:百度知道 编辑:UC知道 时间:2024/05/17 07:40:14
删除无头结点单链表中第i个元素的算法?

这个头节点是一个空节点(不存储数据),仅作标志用。先假设是单向非循环列表。
void deleteNode(Node * head, int i)//删除第i个节点,head是第一个节点指针。
{
Node * temp=head;
for(int j=1;j<i;j++)
{ if(!temp->next) //到达链表末端
{cout<<"不存在该节点";break;}
temp=temp->next;
}
//temp指向第i-1个节点
temp->next=temp->next->next;//第i-1节点的下个节点变为第i+1个节点
}

???
我对这个问题不是太清楚
我学数据结构的时候也学了链表呀
没有头结点,那么第一个元素的位置怎么确定啊

学东西别那么死,存不存数据是我规定的,只有链表能用就行

定义一个计数器不就得了