求数据结构大虾们指导:以下这个算法有什么功能?3. 简述以下算法的功能: void BB(LNode *s, LNode *q ) { p =s ; while (p->next!=q) p =p->next ; p->next =s;} //BBvoid AA(LNode *pa, LNode *pb) {// pa 和 pb
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/02 01:22:06
![求数据结构大虾们指导:以下这个算法有什么功能?3. 简述以下算法的功能: void BB(LNode *s, LNode *q ) { p =s ; while (p->next!=q) p =p->next ; p->next =s;} //BBvoid AA(LNode *pa, LNode *pb) {// pa 和 pb](/uploads/image/z/11456074-10-4.jpg?t=%E6%B1%82%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E5%A4%A7%E8%99%BE%E4%BB%AC%E6%8C%87%E5%AF%BC%EF%BC%9A%E4%BB%A5%E4%B8%8B%E8%BF%99%E4%B8%AA%E7%AE%97%E6%B3%95%E6%9C%89%E4%BB%80%E4%B9%88%E5%8A%9F%E8%83%BD%3F3.+%E7%AE%80%E8%BF%B0%E4%BB%A5%E4%B8%8B%E7%AE%97%E6%B3%95%E7%9A%84%E5%8A%9F%E8%83%BD%EF%BC%9A+void+BB%28LNode+%2As%2C+LNode+%2Aq+%29+%7B+%E3%80%80%E3%80%80p+%3Ds+%3B%E3%80%80%E3%80%80while+%28p-%3Enext%21%3Dq%29+p+%3Dp-%3Enext+%3B%E3%80%80%E3%80%80p-%3Enext+%3Ds%3B%7D+%2F%2FBBvoid+AA%28LNode+%2Apa%2C+LNode+%2Apb%29+%7B%2F%2F+pa+%E5%92%8C+pb)
求数据结构大虾们指导:以下这个算法有什么功能?3. 简述以下算法的功能: void BB(LNode *s, LNode *q ) { p =s ; while (p->next!=q) p =p->next ; p->next =s;} //BBvoid AA(LNode *pa, LNode *pb) {// pa 和 pb
求数据结构大虾们指导:以下这个算法有什么功能?
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
此算法的功能为:__________________
求数据结构大虾们指导:以下这个算法有什么功能?3. 简述以下算法的功能: void BB(LNode *s, LNode *q ) { p =s ; while (p->next!=q) p =p->next ; p->next =s;} //BBvoid AA(LNode *pa, LNode *pb) {// pa 和 pb
首先你清楚什么是循环链表吧!
比如说一根绳子,收尾连在一起,就是一个圆圈了,对吧!
这个圆圈上有两个点,一个s,一个q,然后用剪刀在q点之前剪断,剪断后再连接到s点,自己想象一下这跟绳子变成什么效果了,是不是好像蝌蚪形状了.这个就是AA里面的第一个BB函数的功能.
AA里面的第二个BB函数功能,就是将蝌蚪的尾巴截断,再绕成一个圈.于是就变成两个圈了,也就是两个循环链表.
所以,AA的功能就是将一个循环链表变成两个循环链表,BB的功能就是将链表中的节点截断并形成一个新的小的循环链表.