使用道具 举报
Post by Tetris 呵呵,但2楼的方法就是做到了,我原来也没想到可以这样!稍微改一下就没有缺陷了: p->data = p->next->data; tmp = p->next; p->next = p->next->next; free(tmp);
Post by lxi 这样变通是有缺陷的,因为可能有其他指针指向p->next,把p->next的数据复制到*p,在删除p->next,那么指向p->next的某些指针就成了野指针了。所以这个方案是有缺陷的。请教还有其他方法么?
Post by gradetwo if (p->next!=null) { while(p->next->next!=null) { p->data=p->next->data; // 把P节点移到最后 } p->data=p->next->data; tmp=p->next; //最后节点要特殊处理 p->next=p->next->next; free(tmp); } //假如是最后一个节点就不处理了
本版积分规则 发表回复 回帖后跳转到最后一页