有一个由自然数组成的序列采用单链表存储,试编写算法判断该序列是否是斐波那契序列(斐波那契序列是1,1,2,3,5,8,13,21,34,……)
boolean IsFib(LinkList *L) {
if (L != NULL) {
for (int i = 0;i < L.length - 2;i ++) {
LNode a = L->next;
LNode b = a->next;
LNode c = b->next;
if(c->data == a->data + b->data)
continue;
else{
return false;
break;
}
}
return true;
}
}
单链表中结点类型的描述
typedef struct LNode{ //定义单链表结点类型
ElemType data; //单链表数据域
struct LNode *next; //单链表指针域
}LNode,*LinkList; //*LinkList表示LNode类型的指针