精华内容
下载资源
问答
  • 链式表的按序号查找

    2021-03-09 11:00:11
    6-4 链式表的按序号查找 (10 分) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; ...

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

    本题要求实现一个函数,找到并返回链式表的第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 ){
        List p=L;
        int i=1;
        while(p){
            if(i==K){
                return p->Data;
            }else{
                p=p->Next;
                i++;
            }           
        }
        return ERROR;
        
    }

     

    展开全文
  • 6-2 链式表的按序号查找 (10 分) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; ...

    6-2 链式表的按序号查找 (10 分)

    本题要求实现一个函数,找到并返回链式表的第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 )
    {
    	int cnt = 0;
    	while(L)
    	{
    		cnt++;
    		if(cnt == K)
    		{
    			return L->Data;
    		}
    		L = L->Next;
    	}
    	return ERROR;
    }
    
    展开全文
  • PTA复习 6-4 链式表的按序号查找 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct...

    PTA复习 6-4 链式表的按序号查找

    本题要求实现一个函数,找到并返回链式表的第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 ) {
        //思路:首先辨别是否是带有头结点的单链表  :如果题目中不直接给出那么就会默认是没有表头的
        // 特殊情况:L为空 K不合理(利用排除法找出符合答案的,其余的则直接返回ERROR)
        int count = 1;
        PtrToLNode curPoint = L;
        for (; curPoint; curPoint = curPoint->Next, ++count) {
            if (count == K) {
                return curPoint->Data;
            }
            
        }
        return ERROR;
    }
    
    ElementType FindKth( List L, int K ) {
        if (K < 1 ) {
            return ERROR;//稍微高效一点
        }
        int count = 1;
        PtrToLNode curPoint = L;
        for (; curPoint; curPoint = curPoint->Next, ++count) {
            if (count == K) {
                return curPoint->Data;
            }
        }
        return ERROR;
    }
    
    展开全文
  • PTA6-4 链式表的按序号查找 本提要求实现一个函数,找到并返回链式表的第K个元素 函数接口定义: ElementType FindKth( List L, int K ); 其中list定义入下: typedef struct LNode *PtrToLNode; struct LNode { ...

    PTA6-4 链式表的按序号查找

    本提要求实现一个函数,找到并返回链式表的第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

    AC代码:

    ElementType FindKth(List L,int K)
    {
       int i=0;
       while(L)
       {
          ++i;
          if(i==K)
          {
             return L->Data;
          }
          L=L->Next;
       }
       return ERROR;
    }

    本题需要注意可能会有空链表的状况,i的初始值要设为0。

    展开全文
  • 6-4 链式表的按序号查找 (10 分) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *...
  • 6-4 链式表的按序号查找 (10分) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct ...
  • 链式表的按序号查找 (10分) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct LNode...
  • 6-4 链式表的按序号查找 (10 分) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; ...
  • 6-4 链式表的按序号查找 题目要求: 本题要求实现一个函数,找到并返回链式表的第K个元素。L是给定单链表,函数FindKth要返回链式表的第K个元素。如果该元素不存在,则返回ERROR。 代码如下: ElementType FindKth( ...
  • 6-4 链式表的按序号查找 (点击查看原题目) 本题要求实现一个函数,找到并返回链式表的第K个元素。 函数接口定义: ElementType FindKth( List L, int K ); 其中List结构定义如下: struct LNode { ElementType Data...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 236
精华内容 94
热门标签
关键字:

链式表的按序号查找