文章

7

粉丝

0

获赞

0

访问

2.9k

头像
2009年计算机学科专业基础综合试题 - 第42题回答
数据结构
发布于2025年10月19日 21:07
阅读数 428

(1)快慢指针思想:

开始时,快慢指针同时指向头节点,rear指针不动,先让fast指针往后遍历到第k个节点;随后,rear指针和fast指针一起往后遍历,直到fast指针指向空时,此时的rear指针正好指向链表中倒数第 k 个位置,查找成功,输出该结点的 data 域的值,并返回 1;否则,只返回 0。

(2)

开始时,快慢指针同时指向头节点,rear指针不动,先让fast指针往后遍历到第k个节点;随后,rear指针和fast指针一起往后遍历,直到fast指针指向空时,此时的rear指针正好指向链表中倒数第 k 个位置,查找成功,输出该结点的 data 域的值,并返回 1;否则,只返回 0。

typedef sturct SeqList{
 int data;
 SeqList * next;
}SeqList;

int rear_k(SeqList * h,int k){
SeqList * rear=h;
SeqList * fast=h;
while(k--){
     if(fast!=null){
          fast = fast.next;     
     }else{
          return 0;
     }
}
    while(1){
       if(fast!=null){
          fast = fast.next;     
          rear= rear.rear;    
       }else{
         printf("%d",rear.data)
         return 1;
       }
    }
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发