|
发表于 2017-2-6 18:47:01
|
显示全部楼层
//用鱼币买了课件为了验证看到视频里面的错误。。。
小甲鱼老师, 您在使用快指针和慢指针 获取单链表中间结点时,循环中的代码有误。
小甲鱼老师的代码:
- Status GetMidNode(LinkList L, ElemType *e)
- {
- LinkList search, mid;
- mid = search = L;
- while (search->next != NULL)
- {
- //search移动的速度是 mid 的2倍
- if (search->next->next != NULL)
- {
- search = search->next->next;
- mid = mid->next;
- }
- else
- {
- search = search->next;
- }
- }
- *e = mid->data;
- return OK;
- }
复制代码
其中的循环应该是:
- while(search->Next)
- {
- mid = mid->Next;
- if(search->Next->Next)
- {
- search = search->Next->Next;
- }
- else search = search->Next;
- }
复制代码
每次循环,慢指针的移动不应该在判断快指针是否能移动两个结点中。
|
评分
-
查看全部评分
|