作业帮 > 数学 > 作业

求数据结构大虾们指导:以下这个算法有什么功能?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:数学作业 时间:2024/04/29 18:28:00
求数据结构大虾们指导:以下这个算法有什么功能?
3. 简述以下算法的功能:
void BB(LNode *s, LNode *q )
{
  p =s ;
  while (p->next!=q) p =p->next ;
  p->next =s;
} //BB
void AA(LNode *pa, LNode *pb)
{// pa 和 pb 分别指向单循环链表中的两个结点
  BB(pa, pb);
  BB(pb, pa);
} //AA
此算法的功能为:__________________
首先你清楚什么是循环链表吧!
比如说一根绳子,收尾连在一起,就是一个圆圈了,对吧!
这个圆圈上有两个点,一个s,一个q,然后用剪刀在q点之前剪断,剪断后再连接到s点,自己想象一下这跟绳子变成什么效果了,是不是好像蝌蚪形状了.这个就是AA里面的第一个BB函数的功能.
AA里面的第二个BB函数功能,就是将蝌蚪的尾巴截断,再绕成一个圈.于是就变成两个圈了,也就是两个循环链表.
所以,AA的功能就是将一个循环链表变成两个循环链表,BB的功能就是将链表中的节点截断并形成一个新的小的循环链表.