7-3 求链式线性表的倒数第K项
来源:互联网 发布:人工智能取代数据分析 编辑:程序博客网 时间:2024/06/01 08:00
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。
输入格式:
输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。
输出格式:
输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL。
输入样例:
4 1 2 3 4 5 6 7 8 9 0 -1
输出样例:
7
有一个一分的bug,没有改出来,欢迎大佬指点
代码:
#include<stdio.h>#include<malloc.h>#include<stdlib.h>typedef int status;typedef int ElemType;typedef struct LNode { struct LNode * next; ElemType data;}LNode,*Linklist;//状态码定义#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define OVERFLOW -2status CreatList_L(Linklist & L) { LNode* temp, *rearPtr; temp = (LNode* )malloc (sizeof(LNode)); if(!temp) exit(OVERFLOW); L = temp; rearPtr = L; int num; while(scanf("%d",&num)) { temp = (LNode* )malloc (sizeof(LNode)); if(!temp) exit(OVERFLOW); temp->data = num; rearPtr->next = temp; rearPtr = rearPtr->next; if(num < 0) break; } return OK;}int main(){ //创建链表 Linklist L; int k; scanf("%d",&k); if(CreatList_L(L) != OK) { printf("链表创建失败!\n"); return -1; } //创建两个指针,一个指针指向第K个元素,另一个指针指向头结点 LNode* fristPtr, * secondPtr; fristPtr = L; secondPtr = L; int i; for(i = 0; i < k && fristPtr; i ++) { fristPtr = fristPtr->next; } //两个指针同时后移,当第一个指针为空时,取另一指针的元素 while(fristPtr->data >= 0) { fristPtr = fristPtr->next; secondPtr = secondPtr->next; } //检验链表是否为空,空输出NULL,非空输出第K个元素 if(secondPtr == NULL || k <= 0) printf("NULL\n"); else printf("%d\n",secondPtr->data); //printf("test here : fristPtr->data is %d,secondPtr->data is %d\n",fristPtr->data,secondPtr->data); return 0;}
阅读全文
0 0
- 求链式线性表的倒数第K项
- 求链式线性表的倒数第K项
- 求链式线性表的倒数第K项
- 求链式线性表的倒数第K项
- 7-3 求链式线性表的倒数第K项
- 7-13 求链式线性表的倒数第K项(20 point(s))
- PAT 3-05. 求链式线性表的倒数第K项
- 浙大PAT 3-05. 求链式线性表的倒数第K项 (解题思路)
- PAT DS 3-05求链式线性表的倒数第K项
- PAT 3-05 求链式线性表的倒数第K项(C语言实现)
- pat 3-05. 求链式线性表的倒数第K项(水题)
- 《数据结构学习与实验指导》3-5:求链式线性表的倒数第K项
- PAT1021. 求链式线性表的倒数第K项(15)
- 5-19 求链式线性表的倒数第K项 (20分)
- 5-19 求链式线性表的倒数第K项 (20分)
- 5-19 求链式线性表的倒数第K项 (20分)
- 5-19 求链式线性表的倒数第K项 (20分)
- PTA5-19 求链式线性表的倒数第K项
- Python str 和 repr 的区别
- (CodeForces
- C语言求解阿姆斯特朗数
- 1.9 c++_逻辑运算符
- JS计时器
- 7-3 求链式线性表的倒数第K项
- 学习笔记
- io流
- 大话设计模式之组合模式
- caffe学习系列一——图像预处理
- 快捷、方面、好用!令人超赞的ButterKnife8.8.1
- MySQL的常用命令
- Linux探秘之用户态与内核态
- 98DX3236交换机25和27号光口不通的解决办法