文章
21
粉丝
0
获赞
0
访问
1.7k
(1)使用两个指针分别从链表头后的第一个节点出发,第一个先开始向后遍历,当第一个指针遍历到第k个节点时,第二个指针开始向后移动,和第一个指针一样的速度,当第一个指针到达链表尾时,第二个指针指的节点即为倒数第k个位置的节点。
(2)count=0,
指针p和q指向头节点的后一个节点。
在p不为空的情况下 p向后移动,count加一 ,如果p为空,则返回0,查找失败。
在count小于k时重复上面一步
当count等于k时,p每向后移动一格,q向后移动一格。
当p指向最后一个节点时,如果输出所指向的值并返回1即可。
(3)
Typedef structure linknode {
Elemtype data;
Struct linknode *next
}*linklist;
Int findk (linklist l,int k)
{
linklist p=l->next;
linklist q =l->next;
Int count =0;
while (p!=null)
{
if(count<k)
{
p=p->next;
count++;
}
else
{
p=p->next;
q=q->next;
}
}
if(count<k)
return 0;
else
printf("%d",q->data);
return 1;
}...
登录后发布评论
暂无评论,来抢沙发