我想编写一个函数,它获取一个指向链表头的指针,并每隔一个成员就从链表中删除一次。List 是 element 类型的链接元素:
typedef struct element{
int num;
struct element* next;
}element;
我对所有这些指针算术都很陌生,所以我不确定我是否正确编写它:
void deletdscnds(element* head) {
element* curr;
head=head->next; //Skipping the dummy head//
while (head!=NULL) {
if (head->next==NULL)
return;
else {
curr=head;
head=head->next->next; //worst case I'll reach NULL and not a next of a null//
curr->next=head;
}
}
}
我一直在更改它,因为我一直在发现错误。你能指出任何可能的错误吗?