大家帮忙讨论一下这个链表问题吧
一个不知长度的单向链表,尾节点可能指针域没指向NULL,而指向了表中某个节点,怎么判断有没有发生这种情况,大家有好方法吗?
这个不好办,可以估计一下表的大小,比如估计为N,N最后适当的大,
1、定义指针p 指向表头
2、判断p->next是不是NULL,如果是就退出。否则计数器加1。如果计数器大于N了,说明链表成了循环链表。退出。
3、p= p->next。然后2。
当然这样也不是好办法。最好的办法当然是写程序的时候控制好。