求链式线性表的倒数第K项
来源:互联网 发布:聚拓数据录入邀请码 编辑:程序博客网 时间:2024/06/06 03:00
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。
输入格式:
输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。
输出格式:
输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL
。
输入样例:
4 1 2 3 4 5 6 7 8 9 0 -1
输出样例:
7
#include <stdio.h>typedef struct List{ int data; struct List *next; struct List *pre;}List;int main(){ int k, value, i, num = 0; List *L, *prePtr, *rearPtr, *curPtr; prePtr = rearPtr = L = (List *)malloc(sizeof(List)); L->pre = NULL; scanf("%d", &k); while(scanf("%d", &value) && value >= 0) { curPtr = (List *)malloc(sizeof(List)); curPtr->data = value; curPtr->pre = rearPtr; rearPtr->next = curPtr; rearPtr = curPtr; ++num; } rearPtr->next = NULL; if(k > num || k <= 0) { printf("NULL"); return 0; } else if(k > num / 2) { curPtr = L->next; k = num - k; for(i = 0; i < k; ++i) { curPtr = curPtr->next; } printf("%d", curPtr->data); } else { for(i = 1; i < k; ++i) { rearPtr = rearPtr->pre; } printf("%d", rearPtr->data); }}
阅读全文
0 0
- 求链式线性表的倒数第K项
- 求链式线性表的倒数第K项
- 求链式线性表的倒数第K项
- 求链式线性表的倒数第K项
- PAT 3-05. 求链式线性表的倒数第K项
- 浙大PAT 3-05. 求链式线性表的倒数第K项 (解题思路)
- PAT DS 3-05求链式线性表的倒数第K项
- PAT 3-05 求链式线性表的倒数第K项(C语言实现)
- PAT1021. 求链式线性表的倒数第K项(15)
- pat 3-05. 求链式线性表的倒数第K项(水题)
- 5-19 求链式线性表的倒数第K项 (20分)
- 5-19 求链式线性表的倒数第K项 (20分)
- 5-19 求链式线性表的倒数第K项 (20分)
- 5-19 求链式线性表的倒数第K项 (20分)
- PTA5-19 求链式线性表的倒数第K项
- 5-19 求链式线性表的倒数第K项
- 《数据结构学习与实验指导》3-5:求链式线性表的倒数第K项
- PTA 求链式线性表的倒数第K项(C语言实现)
- linux安装中文输入法的命令
- Spring MVC--17.结果返回(3种)
- Spring-boot与maven多环境配置文件设置
- vim入坑笔记
- Linux system 2
- 求链式线性表的倒数第K项
- 2014-03-31-sqlserver2008安装
- HDU
- Iterator和ListIterator的作用和区别
- Asp.net core javascript中获取ViewData值
- Android TV 焦点移动飞框的实现
- 装好oracle后——表空间,用户
- 离散数学中Warshall算法简析
- Android 友盟新浪微博分享