习题3.5 求链表的倒数第m个元素 (20 分)

请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素。

函数接口定义:

ElementType Find( List L, int m );

其中List结构定义如下:

typedef struct Node *PtrToNode;
struct Node {ElementType Data; /* 存储结点数据 */PtrToNode   Next; /* 指向下一个结点的指针 */
};
typedef PtrToNode List; /* 定义单链表类型 */

L是给定的带头结点的单链表;函数Find要将L的倒数第m个元素返回,并不改变原链表。如果这样的元素不存在,则返回一个错误标志ERROR

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>#define ERROR -1typedef int ElementType;
typedef struct Node *PtrToNode;
struct Node {ElementType Data;PtrToNode   Next;
};
typedef PtrToNode List;List Read(); /* 细节在此不表 */
void Print( List L ); /* 细节在此不表 */ElementType Find( List L, int m );int main

求链表的倒数第m个元素相关推荐

  1. 6-3 求链表的倒数第m个元素

    6-3 求链表的倒数第m个元素 (20 分) 请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素. 函数接口定义: ElementType F ...

  2. 6-7 求链表的倒数第m个元素 (25 分)

    请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素. 函数接口定义: ElementType Find( List L, int m ); 其 ...

  3. 习题3.5 求链表的倒数第m个元素 (20 分)

    请设计时间和空间上都尽可能高效的算法,在不改变链表的前提下,求链式存储的线性表的倒数第m(>0)个元素. 函数接口定义: ElementType Find( List L, int m ); 其 ...

  4. 链表题目--2 求链表的中间结点 和 求链表中倒数第k个结点

    求链表的中间结点 思路 一个走两步,一个走一步.一个走到尾,另外一个就走到了中间 /*** Definition for singly-linked list.* struct ListNode {* ...

  5. 如何找出单链表中倒数第K个元素

    第一种方法 为了找出单链表的倒数第K个元素,需要知道这个单链表的长度是多少,就是需要遍历一遍这个单链表,长度为n,倒数第k个,就是单链表的第(n-k)个元素 public Node findLastK ...

  6. 求链表的倒数第N个节点

    最近看一本书上有求链表的倒数第N个节点,简单实现了下 链表,实现方案如下 1.不借助链表长度顺序遍历倒数第N个节点 GetReserveN就是如此实现. 2.当然如果链表记录了节点长度也可以直接正序遍 ...

  7. 数据结构 如何删除单向链表的倒数第m个元素

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 建立tm ...

  8. 单链表输出倒数第k个元素

    这个算法已经有不少人写过了,但是为了考研后期复习还是在此记录一下自己的心得. 方法有如下几种: 1. 遍历单链表两次,第一次获取链表总长度,第二次寻找倒数第K个元素就很简单了.但是该方法需要遍历两次链 ...

  9. 如何快速查看单链表倒数第K个元素

    大致思路:只需要一次遍历即可查找到倒数第k个元素.由于单链表只能从头到尾依次访问链表的各个节点,因此,如果要找到链表的倒数第k个元素的话,也只能从头到尾进行遍历查找,在查找过程中,设置两个指针,让其中 ...

最新文章

  1. 2022-2028年中国文化创意产业园区域发展模式与产业整体规划研究报告
  2. 动态规划DP----背包问题总结
  3. Solr debugQuery使用体会
  4. 每天一个Linux命令 7
  5. Python爬虫介绍及实战入门
  6. 一种不通过UI给C4C自定义BO创建测试数据的方式
  7. mysql 之 一个库中所有表复制到另一个数据库中的方法和工具
  8. .net core中使用GB2312编码
  9. 元宇宙系列白皮书——未来已来:全球XR产业洞察
  10. 火星人(洛谷-P1088)
  11. 小米9全面现货还降价,米粉却心情复杂?
  12. “近一个月”、“近三个月”这种查询如何处理更精确?
  13. iPhone X 穿越回 1957 年计算力相当的电脑,将会是什么样?
  14. 复变函数系列(三 ) - 复变函数的积分
  15. python语言源程序文件类型_Python语言源程序文件的文件类型是__________。
  16. Python中的变量、引用、拷贝和作用域
  17. ffmpeg 截图太模糊了_技法课堂 | 巧用截图工具,一小时迅速完成线稿风效果图...
  18. html获取xml的数据,xml格式获取值
  19. 斑马Zebra 170Xi4 打印机驱动
  20. python里面的报错语句翻译_翻译《Writing Idiomatic Python》(二):函数、异常

热门文章

  1. plotly包安装_Plotly(一)安装指南
  2. P4271 [USACO18FEB]New Barns
  3. 从零开始学 Web 之 ES6(三)ES6基础语法一
  4. 编程一小时 code.org [六一关注]
  5. 易信推专线电话 通话双方中只需一方安装即可免费通话
  6. css 控制div高度自适应浏览器的高度
  7. 郁闷好久的电脑问题终于搞定---电脑经常死机
  8. SpringBoot Scheduled Cron表达式范例记录
  9. 微信小程序按钮Button使用详解
  10. Dart核心语言基础const关键字与final关键字的区别