函数题:求链式线性表的倒数第K项
给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字。
输入格式:
输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。
输出格式:
输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL
提示:(struct List*)malloc(sizeof(struct List)); 表示分配大小为sizeof(struct List)的内存空间,同时将内存地址指正转换成struct List 类型,该用法一般是为结构体指针分配内存空间。
### 函数接口定义:
c++
在这里描述函数接口。例如:
struct List *creat();
### 裁判测试程序样例:
c++
在这里给出函数被调用进行测试的例子。例如:
#include <iostream>
#include <vector>
using namespace std;
struct List
{
int data;
struct List* next;
};
struct List *creat();
int main()
{
struct List *L;
int n;
cin>>n;
L=creat();
for(int i=0;i<n;i++){
if(i==0);
else
L=L->next;
}
if(L)
cout<<L->data;
else
cout<<"NULL";
return 0;
}
/*你的代码嵌入到这里*/
### 输入样例:
in
4 1 2 3 4 5 6 7 8 9 0 -1
### 输出样例:
out
7
answer:若无答案欢迎评论
输入格式:
输入首先给出一个正整数K,随后是若干非负整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理)。
输出格式:
输出倒数第K个位置上的数据。如果这个位置不存在,输出错误信息NULL
提示:(struct List*)malloc(sizeof(struct List)); 表示分配大小为sizeof(struct List)的内存空间,同时将内存地址指正转换成struct List 类型,该用法一般是为结构体指针分配内存空间。
### 函数接口定义:
c++
在这里描述函数接口。例如:
struct List *creat();
### 裁判测试程序样例:
c++
在这里给出函数被调用进行测试的例子。例如:
#include <iostream>
#include <vector>
using namespace std;
struct List
{
int data;
struct List* next;
};
struct List *creat();
int main()
{
struct List *L;
int n;
cin>>n;
L=creat();
for(int i=0;i<n;i++){
if(i==0);
else
L=L->next;
}
if(L)
cout<<L->data;
else
cout<<"NULL";
return 0;
}
/*你的代码嵌入到这里*/
### 输入样例:
in
4 1 2 3 4 5 6 7 8 9 0 -1
### 输出样例:
out
7
answer:若无答案欢迎评论