博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5-19 求链式线性表的倒数第K项 (20分)
阅读量:6157 次
发布时间:2019-06-21

本文共 1275 字,大约阅读时间需要 4 分钟。

给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。

输入格式:

输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。

输出格式:

输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL

输入样例:

4 1 2 3 4 5 6 7 8 9 0 -1

输出样例:

7
1 #include 
2 3 typedef struct Node 4 { 5 int data; 6 struct Node * next; 7 }Node, * linkList; 8 9 10 void InitList(linkList *p)11 {12 (*p) = (linkList)malloc(sizeof(Node));13 (*p)->next = NULL;14 }15 16 void creat(linkList L)17 {18 Node *s;19 int num, flag = 1;20 while(flag)21 {22 scanf("%d", &num);23 if(num >= 0)24 {25 s = (linkList)malloc(sizeof(Node));26 s->data = num;27 s->next = L->next;28 L->next = s;29 }30 else31 {32 flag = 0;33 }34 }35 }36 37 void printNum(linkList L, int n)38 {39 Node *p = L->next;40 int i = 0;41 while(p != NULL && i < n - 1)42 {43 p = p->next;44 i++;45 }46 if(p != NULL)47 printf("%d\n", p->data);48 else49 printf("NULL\n");50 51 }52 53 int main()54 {55 Node *p;56 int n;57 scanf("%d", &n);58 InitList(&p);59 creat(p);60 printNum(p, n);61 return 0;62 }

 

转载于:https://www.cnblogs.com/hello-lijj/p/7096146.html

你可能感兴趣的文章
Quartz
查看>>
正则表达式的语法规则
查看>>
C#一个关于委托和事件通俗易懂的例子
查看>>
类似于SVN的文档内容差异对比工具winmerge
查看>>
Cause: java.sql.SQLException: The user specified as a definer ('root'@'%') does not exist
查看>>
quratz线程
查看>>
execnet: rapid multi-Python deployment
查看>>
windows修改3389端口
查看>>
关于JavaScript词法
查看>>
FreeSwitch中的会议功能(4)
查看>>
MySQL中创建用户分配权限(到指定数据库或者指定数据库表中)
查看>>
AutoReleasePool 和 ARC 以及Garbage Collection
查看>>
重新想象 Windows 8 Store Apps (9) - 控件之 ScrollViewer 基础
查看>>
乐在其中设计模式(C#) - 提供者模式(Provider Pattern)
查看>>
MVP Community Camp 社区大课堂
查看>>
GWT用frame调用JSP
查看>>
大型高性能ASP.NET系统架构设计
查看>>
insert select带来的问题
查看>>
EasyUI 添加tab页(iframe方式)
查看>>
mysqldump主要参数探究
查看>>