zoukankan      html  css  js  c++  java
  • 7-13 求链式线性表的倒数第K项(20 分)

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

    输入格式:

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

    输出格式:

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

    输入样例:

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

    输出样例:

    7

    代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    typedef struct Node *Node;
    struct Node
    {
        int data;
        Node Next;
    };
    int main()
    {
        int n,d,c = 0;
        scanf("%d",&n);
        Node temp = (Node)malloc(sizeof(struct Node)),q;
        temp -> Next = NULL;
        q = temp;
        while(scanf("%d",&d)!=EOF&&d >= 0)
        {
            Node p = (Node)malloc(sizeof(struct Node));
            p -> data = d;
            p -> Next = NULL;
            q -> Next = p;
            q = p;
            c ++;
            if(c >= n)
            {
                Node t = temp;
                temp = temp -> Next;
                free(t);
            }
        }
        if(c >= n)printf("%d",temp -> data);
        else printf("NULL");
    }
  • 相关阅读:
    htop命令使用详解
    三月江南
    linux下文本三剑客之sed
    linux下五种查找命令
    Spring MVC 全局异常处理&文件上传
    About Spring MVC
    JSP
    java多线程
    Java中map接口 遍历map
    log4j
  • 原文地址:https://www.cnblogs.com/8023spz/p/7702412.html
Copyright © 2011-2022 走看看