给定一个单向链表(长度未知),请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素。
实现这个算法,并为可能出现的特例情况安排好处理措施。
倒数第m个元素”是这样规定的:当m=0时,链表的最后一个元素将被返回:


#include<stdio.h>
#include<stdlib.h>
#include<time.h>#define MAXSIZE 20
#define OK 1
#define ERROR 0typedef int ElemType;
typedef int Status;typedef struct
{ElemType data[MAXSIZE];int Length;
}SqList;Status InitList(SqList *L)
{L->Length=0;return OK;
}SqList Create(SqList * L)
{int i;srand((unsigned)time(NULL));for(i=0; i < 10; i++){L->data[i] = rand()%100;L->Length++;}return *L;
}//查找倒数第M个数,并返回其值
Status Search(SqList *L,ElemType M)
{int StartNumber=1;int EndNumber=StartNumber+M;while(EndNumber!=L->Length){++StartNumber;++EndNumber;}return L->data[StartNumber-1];}void Print(SqList * L)
{for(int i=0;i<L->Length-1;i++){printf("%d ,",L->data[i]);}printf("%d\n",L->data[L->Length-1]);printf("\n");
} int main()
{SqList L;printf("初始化顺序表:\n");InitList(&L);Create(&L);Print(&L);printf("请输入倒数第M个数:\n");int M;scanf("%d",&M);int Value=Search(&L,M);printf("倒数第%d个数的值为:%d\n\n",M,Value);return 0;
}

请设计一个既节省时间又节省空间的算法来找出该链表中的倒数第m个元素相关推荐

  1. 给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数。

    笔者初涉<算法设计与分析>这门专业课,在做一些算法设计题的过程中遇到一些小感悟,特此记录和大家分享. 下面直接给出算法题目: 给定一个含n(n≥1)个整数的数组,请设计一个在时间上尽可能高 ...

  2. 【408计算机考研】|【2018统考真题-41】| 给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算法,找出数组中未出现的最小正整数

    目录 一.题目 二.解答 三.测试数据 一.题目   给定一个含 n(n≥1)个整数的数组,请设计一个在时间上尽可能高效的算 法,找出数组中未出现的最小正整数.例如,数组{-5, 3, 2, 3}中未 ...

  3. c语言中定义密码为英文字母,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

  4. 软件测试面试题:请设计一个关于ATM自动取款机的测试用例?

    请设计一个关于ATM自动取款机的测试用例? 1)功能a)ATM所识别卡的类型:b)密码验证(身份登陆.是否为掩码.输入错误密码时是否提示,连续三次错误吞卡等):c)取款功能:i.金额多少的限制,单次最 ...

  5. 密码生成器c语言程序,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

  6. 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符

    题目描述 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符. 给定一个字符串(不一定全为字母)A及它的长度n.请返回第一个重复出现的字符.保证字符串中有重复字符,字符串的长度小于等于500 ...

  7. 请设计一个栈,实现十进制数转任意进制数。

    文章目录 1.题目描述 2.代码实现 1.题目描述 请设计一个栈,实现十进制数转任意进制数 2.代码实现 #include <iostream> using namespace std;# ...

  8. 【C++】公元前五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?请设计一个“高效”的算法求解。

    题目分析 公元前五世纪,我国古代数学家张丘建在<算经>一书中提出了"百鸡问题":鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一.百钱买百鸡,问鸡翁.鸡母.鸡雏各几何?请设计一 ...

  9. 四位密码器c语言编程,请设计 一个密码生成器,要求随机生成4组10位密码(C语言)...

    请设计 一个密码生成器,要求随机生成4组10位密码(密码只能由字母和数字组成),每一组必须包含至少一个大写字母,每组密码不能相同,输出生成的密码. #include #include #include ...

最新文章

  1. Handler消息处理机制详解
  2. mac 配置apache 服务器 实现手机pc 端局域网传输
  3. reactjs 兄弟通信,父子通信
  4. 58. Length of Last Word
  5. 基础10 多进程、协程(multiprocessing、greenlet、gevent、gevent.monkey、select、selector)...
  6. Python reload 函数 - Python零基础入门教程
  7. arccatalog点要素显示不完,shp数据全图显示正常,放大要素不能显示的问题
  8. 【锁】redis加锁的几种方法
  9. Luogu3387【模板】缩点(Kosaraju)
  10. 几组数据的相关性python_几的笔顺 笔画数:2 拼音:jī,jǐ 部首:几 - 智慧山
  11. mysql大翻页limt 1700,100慢优化方案
  12. JConsole:Java监视与管理控制台
  13. 织梦转pbootcms插件,自动pbootcms插件
  14. 东京奥运会能如期举办吗?带你用数据看120年奥运变迁史
  15. 80老翁谈人生(210):方正上市前的静默期的突发事件
  16. 计算机英语 自我介绍ppt,大学英语自我介绍ppt.ppt
  17. 关于宽带和窄带的解释
  18. C6678信号处理板资料保存:基于Xilinx Virtex-6 XC6VLX240T 和TI DSP TMS320C6678的信号处理板204
  19. Web学习(五)中期项目-简易拳皇
  20. 软考中级和高级选哪个比较好?

热门文章

  1. Xubuntu22.04之自动调节亮度护眼redshift(一百七十四)
  2. 解决——》is not an enclosing class
  3. HDU 5732 Subway(树同构)
  4. 九月5G你选谁?瀑布屏外加透明全景屏来袭,OPPO5G手机配置大曝光
  5. C++ 格式化字符串方式总结
  6. linux centos 搭建wordpress 服务器 网站建设lamp php apache
  7. Pytorch纯新手入门笔记
  8. php画个菱形,ai怎么绘制菱形? ai绘制扑克牌中方片的教程
  9. 数据结构笔记6: 二叉树和其他树
  10. qt解析json数据