char CLinkListDelete(CircularLinkList &CL){ //删除表尾元素
if(CL->next == CL)
{
printf("List is EMPTY!\n");
return 0;
}
else
{
CircularLinkList p=CL->next;
char e;
e=CL->data;
while(p->next != CL){p=p->next;}//寻找尾指针前一个位置
p->next=CL->next;
free(CL);
CL=p;
CL->next->data--;
return e;
}
}
第一种方法:使用C++的编译器
第二种方法:用指针解决,改为:
char CLinkListDelete(CircularLinkList *CL){ //删除表尾元素
if((*CL)->next == *CL)
{
printf("List is EMPTY!\n");
return 0;
}
else
{
CircularLinkList p=(*CL)->next;
char e;
e=(*CL)->data;
while(p->next != *CL){p=p->next;}//寻找尾指针前一个位置
p->next=(*CL)->next;
free(*CL);
*CL=p;
(*CL)->next->data--;
return e;
}
}
————————————————
版权声明:本文为CSDN博主「NoodleUtopia」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wudifei55/article/details/39756359