9度_タイトル1517:チェーンテーブルの最後からk番目のノード
1743 ワード
//チェーンテーブルを作るときは、テーブルを作るロジックに注意する
タイトル説明:チェーンテーブルを入力し、チェーンテーブルの最後からk番目のノードを出力します.
(hint:チェーンテーブルは必ず使用してください.)
入力:
入力には複数のテストサンプルが含まれ、入力はEOFで終了します.
各テストケースについて、入力される第1の動作の2つの整数nおよびk(0<=n<=1000、0<=k<=1000):nは、入力するチェーンテーブル要素の個数を表し、kは、クエリの最後から数番目の要素を表す.
入力された2行目は、チェーンテーブルの要素を表すn個の数t(1<=t<=100000,000)を含む.
出力:
各テストケースに対応し、
結果がある場合は、対応する検索結果を出力します.そうでなければNULLを出力します.
サンプル入力:
5 2
1 2 3 4 5
1 0
5
サンプル出力:
4
NULL
タイトル説明:チェーンテーブルを入力し、チェーンテーブルの最後からk番目のノードを出力します.
(hint:チェーンテーブルは必ず使用してください.)
入力:
入力には複数のテストサンプルが含まれ、入力はEOFで終了します.
各テストケースについて、入力される第1の動作の2つの整数nおよびk(0<=n<=1000、0<=k<=1000):nは、入力するチェーンテーブル要素の個数を表し、kは、クエリの最後から数番目の要素を表す.
入力された2行目は、チェーンテーブルの要素を表すn個の数t(1<=t<=100000,000)を含む.
出力:
各テストケースに対応し、
結果がある場合は、対応する検索結果を出力します.そうでなければNULLを出力します.
サンプル入力:
5 2
1 2 3 4 5
1 0
5
サンプル出力:
4
NULL
#include<iostream>
#include<cstdlib>
using namespace std;
typedef struct LNode
{
struct LNode *next ;
int data;
}*Linklist;
Linklist CreateList(Linklist list,int n)
{
int num=0;
Linklist p=NULL,q=NULL;
p=(Linklist)malloc(sizeof(Linklist *));
list=p;
p->next=NULL;
for(int i=0;i<n;i++)
{
q=(Linklist)malloc(sizeof(Linklist *));
cin>>num;
q->data=num;
q->next=NULL;
p->next=q;
p=q;
}
return list;
}
void printNode(Linklist list,int n)
{
Linklist p=NULL;
p=list->next;
for(int i=1;i<n;i++)
p=p->next;
cout<<p->data<<endl;
}
int main()
{
int n,k;
while(cin>>n)
{
cin>>k;
Linklist list=NULL;
list=CreateList( list, n);
if(k>n||k==0)cout<<"NULL"<<endl;
else
printNode(list,n-k+1);
}
return 0;
}
/**************************************************************
Problem: 1517
User: hndxztf
Language: C++
Result: Accepted
Time:190 ms
Memory:3104 kb
****************************************************************/