单链表第十八题(将B链表链接到A链表)

 18.有两个循环单链表,链表头指针分别为h1和h2,

编写一个函数将链表h2连接到链表h1之后,要求连接后的链表仍保持循环链表形式

struct  Link{
     int  data;
     struct   Link   *next;
     struct   Link   *pre;
};
#define_CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void   isSymmetry(Link  *h){
       struct  Link   *pre=h->next,*next=h->next;
       while(pre!=next&&pre->pre!=next){
             //此时存在两种情况,奇数个节点和偶数个节点都要考虑
            if(pre->data!=next->data){
                   printf("该循环双链表不对称");
                   break;
             }
             else{
                 pre=pre->pre;
                 next=next->next;
                }
            }
          if(pre==next||pre->pre==next){
             printf("该循环双链表对称:"); 
          }   

}
int  main(){
     struct  Link*head;
     Link *createDouLoopLink();
     head=createDouLoopLink();
     isSymmetry(head);
     return  0;   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值