Java教程

求链式线性表的倒数第K项

本文主要是介绍求链式线性表的倒数第K项,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

输入格式:

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

输出格式:

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

输入样例:

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

结尾无空行

输出样例:

7

结尾无空行

#include<iostream>
#include<vector>

using namespace std;

vector<int>v;
int k,x;

int main()
{
    cin>>k;
    while(cin>>x&&x>=0) v.push_back(x);//负数结束
    if(k>=1&&k<=v.size()) cout<<v[v.size()-k];
    else cout<<"NULL";
    return 0;
}

 

这篇关于求链式线性表的倒数第K项的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!