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; } }
时间: 2024-08-05 05:59:47