5-19 求链式线性表的倒数第K项 (20分)

来源:互联网 发布:java redis集群 编辑:程序博客网 时间:2024/05/31 11:03
5-19 求链式线性表的倒数第K项   (20分)

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

输入格式:

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

输出格式:

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

输入样例:

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

输出样例:

7

http://pta.patest.cn/pta/test/15/exam/4/question/826

// 5-19#include <cstdio>  #include <sstream>  #include <cstring>  #include <iostream>#include <string>#include <vector>#include <algorithm>#include <set>using namespace std;#define  N 10001int k ;vector<int> v ;int main(){    //freopen("in.txt", "r", stdin);scanf("%d" , &k) ;int tmp ;while(scanf("%d" , &tmp) != EOF && tmp >= 0){v.push_back(tmp) ;}int len = v.size() ;int i , j ;if(k <= 0 || k > len)printf("NULL\n") ;else{for(i = 0 , j = k ; i < len && j < len ; i ++ ,j ++);printf("%d\n" , v[i]) ;}return 0 ;}


0 0
原创粉丝点击