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

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

    输入格式:

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

    输出格式:

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

    输入样例:

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

    输出样例:

    7


     1 #include <stdio.h>
     2 
     3 typedef struct Node
     4 {
     5     int data;
     6     struct Node * next;
     7 }Node, * linkList;
     8 
     9 
    10 void InitList(linkList *p)
    11 {
    12     (*p) = (linkList)malloc(sizeof(Node));
    13     (*p)->next = NULL;
    14 }
    15 
    16 void creat(linkList L)
    17 {
    18     Node *s;
    19     int num, flag = 1;
    20     while(flag)
    21     {
    22         scanf("%d", &num);
    23         if(num >= 0)
    24         {
    25             s = (linkList)malloc(sizeof(Node));
    26             s->data = num;
    27             s->next = L->next;
    28             L->next = s;
    29         }
    30         else
    31         {
    32             flag = 0;
    33         }
    34     }
    35 }
    36 
    37 void printNum(linkList L, int n)
    38 {
    39     Node *p = L->next;
    40     int i = 0;
    41     while(p != NULL && i < n - 1)
    42     {
    43         p = p->next;
    44         i++;
    45     }
    46     if(p != NULL)
    47         printf("%d
    ", p->data);
    48     else
    49         printf("NULL
    ");
    50 
    51 }
    52 
    53 int main()
    54 {
    55     Node *p;
    56     int n;
    57     scanf("%d", &n);
    58     InitList(&p);
    59     creat(p);
    60     printNum(p, n);
    61     return 0;
    62 }
  • 相关阅读:
    常见的医学影像数据格式
    如何加到可选Kernel中?(jupyter notebook)
    GITHUB(3.2)实际动手使用
    GITHUB(3.1)前期准备
    GITHUB(2.1-2.5)Git的导入
    GITHUB(1.5)GitHub提供的主要功能
    HTML
    python day21
    python day20
    python day19
  • 原文地址:https://www.cnblogs.com/hello-lijj/p/7096146.html
Copyright © 2011-2022 走看看