4-4 链式表的按序号查找 (10分) PTA

来源:互联网 发布:无线暴力破解软件 编辑:程序博客网 时间:2024/06/06 07:41

本题要求实现一个函数,找到并返回链式表的第K个元素。

函数接口定义:

ElementType FindKth( List L, int K );

其中List结构定义如下:

typedef struct LNode *PtrToLNode;struct LNode {    ElementType Data;    PtrToLNode Next;};typedef PtrToLNode List;

L是给定单链表,函数FindKth要返回链式表的第K个元素。如果该元素不存在,则返回ERROR

裁判测试程序样例:

#include <stdio.h>#include <stdlib.h>#define ERROR -1typedef int ElementType;typedef struct LNode *PtrToLNode;struct LNode {    ElementType Data;    PtrToLNode Next;};typedef PtrToLNode List;List Read(); /* 细节在此不表 */ElementType FindKth( List L, int K );int main(){    int N, K;    ElementType X;    List L = Read();    scanf("%d", &N);    while ( N-- ) {        scanf("%d", &K);        X = FindKth(L, K);        if ( X!= ERROR )            printf("%d ", X);        else            printf("NA ");    }    return 0;}/* 你的代码将被嵌在这里 */

输入样例:

1 3 4 5 2 -163 6 1 5 4 2

输出样例:

4 NA 1 2 5 3


思路:略

PTA测验传送门:https://pta.patest.cn/pta/test/15/exam/3/question/727

ElementType FindKth(List L,int K){


    while(--K){
            if(!L)return ERROR;
        L=L->Next;


    }
    if(!L)return ERROR;
    return L->Data;


}

0 0
原创粉丝点击