zoukankan      html  css  js  c++  java
  • 6-4 链式表的按序号查找

    ---恢复内容开始---

    https://pintia.cn/problem-sets/15/problems/727

    本题要求实现一个函数,找到并返回链式表的第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 -1
    typedef 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 -1
    6
    3 6 1 5 4 2
    

    输出样例:

    4 NA 1 2 5 3 

    提交内容

    ElementType FindKth( List L, int K )
    {
        if(L==NULL || K<=0)
            return ERROR;
        for(int i=0;i<K-1;i++)
        {
            if(L!=NULL)
                L=L->Next;
            else
                return ERROR;
        }
        return L==NULL?ERROR:L->Data;
    }
  • 相关阅读:
    Spring声明式事务配置
    spring注解注入:<context:component-scan>详解
    MySQL添加用户、删除用户与授权
    Mysql 分页语句Limit用法
    Java内存泄露的理解与解决
    eclipse的设置和优化
    从svn删除文件夹和文件
    权限管理设计
    Linux Tomcat 6.0安装配置实践总结
    Java 继承
  • 原文地址:https://www.cnblogs.com/cbattle/p/10755388.html
Copyright © 2011-2022 走看看