|
发表于 2023-3-8 22:51:22
|
显示全部楼层
本帖最后由 jhq999 于 2023-3-8 22:54 编辑
- /*11 13 25 27 29 30 36 42 50 0
- 3 9 10 11 13 30 42 0
- 3 6 7 9 11 13 42 50 0*/
- void TriLinkList(LinkList A, LinkList B, LinkList C) {
- LinkList p1 ,p2,p3 ,prior = A;
- int sign = 0;
- for(p1 = A->next;p1!=NULL ;){/////////////////////////p1->data=11
- for(p2 = B->next ;p2 != NULL ;p2= p2->next){
- if(p2->data==p1->data){//查找B中是否有该元素
- for(p3 = C->next ; p3!=NULL ;p3 =p3->next){//查找C中是否有该元素
- if(p3->data==p1->data){
- prior->next = p1->next;//删除节点操作////////// prior->next->data=13
- free(p1);
- p1=prior -> next;///////////////p1->data=13
- sign = 1;//表示已删除一个节点/////////
- break;
- }
- }
- }
- if(sign==1){
- sign = 0;//////////
- break;
- }
- }
- if (sign == 0) {
- prior=prior -> next;//查找下一个节点////////prior->data=13
- p1=prior -> next;///////p1->data=25。这里跳过了13
- }
- }
- }
复制代码- void TriLinkList(LinkList A, LinkList B, LinkList C) {
- LinkList p1 ,p2,p3 ,prior = A;
- int sign = 0;
- for(p1 = A->next;p1!=NULL ;){
- for(p2 = B->next ;p2 != NULL ;p2= p2->next){
- if(p2->data==p1->data){//查找B中是否有该元素
- for(p3 = C->next ; p3!=NULL ;p3 =p3->next){//查找C中是否有该元素
- if(p3->data==p1->data){
- prior->next = p1->next;//删除节点操作
- free(p1);
- p1=prior -> next;
- sign = 1;//表示已删除一个节点
- break;
- }
- }
- }
- if(sign==1){
- //////// sign = 0;///////////////////////这里删除
- break;
- }
- }
- if (sign == 0) {
- prior=prior -> next;//查找下一个节点
- p1=prior -> next;
- }
- }
- }
复制代码 |
|