6-3 求链式表的表长

6-3 求链式表的表长(10 分)

本题要求实现一个函数,求链式表的表长。

函数接口定义:

int Length( List L );

其中List结构定义如下:

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

L是给定单链表,函数Length要返回链式表的长度。

裁判测试程序样例:

#include <stdio.h>
#include <stdlib.h>

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

List Read(); /* 细节在此不表 */

int Length( List L );

int main()
{
    List L = Read();
    printf("%d\n", Length(L));
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

1 3 4 5 2 -1

输出样例:

5思路:今天练车没刷题,就想凑个数??
int Length(List L)
{
    int len = 0;
    while (L != NULL){
        len++;
        L = L->Next;
    }
    return len;
}

原文地址:https://www.cnblogs.com/zengguoqiang/p/8361856.html

时间: 2024-11-10 07:55:56

6-3 求链式表的表长的相关文章

4-3 求链式表的表长 (10分)

本题要求实现一个函数,求链式表的表长. 函数接口定义: int Length( List L ); 其中List结构定义如下: typedef struct LNode *PtrToLNode; struct LNode { ElementType Data; PtrToLNode Next; }; typedef PtrToLNode List; L是给定单链表,函数Length要返回链式表的长度. 裁判测试程序样例: #include <stdio.h> #include <stdl

7-19 求链式线性表的倒数第K项

7-19 求链式线性表的倒数第K项(20 分) 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式: 输出倒数第K个位置上的数据.如果这个位置不存在,输出错误信息NULL. 输入样例: 4 1 2 3 4 5 6 7 8 9 0 -1 输出样例: 7思路:待定 原文地址:https://www.cnblogs.com/zengguoqiang/p/

线性表的链式存储——顺序表和单链表的对比分析

1,线性表两种实现: 1,顺序表: 2,单链表: 2,问题: 1,如何判断某个数据元素是否存在线性表中? 1,遍历线性表: 2,封装这个遍历操作: 3,遗失的操作 - find: 1,可以为线性表(List)增加一个查找操作: 2,int find(const T& e) const; 1,参数: 1,待查找的数据元素: 2,返回值: 1,>= 0:数据元素在线性表中第一次出现的位置: 2,-1:数据元素不存在: 3,遍历中会有相等和不等操作符,当比较对象是类的时候,需要类继承自 Objec

线性表的链式存储——线性表的链式存储结构

1,基于顺序存储结构插入或删除元素时候会涉及大量元素移动,非常影响效率,本文着手解决这个问题: 2,链式存储结构为了弥补顺序存储结构效率上的问题: 3,链式存储的定义: 1,为了表示每个数据元素与其后继元素之间的逻辑关系,数据元素除了存储本身的信息外,还需要存储其直接后继的信息: 2,幼儿园排队:每个小朋友记住他前面的小朋友是谁,这样可以轻易的排队: 4,一定要分清 p->next 是左值还是右值,左值时表示节点内存储的位置,右值时表示节点对象: 5,链式存储逻辑结构: 1,基于链式存储结构的线

3-05. 求链式线性表的倒数第K项(15)(STL list运用)

题目链接:http://pat.zju.edu.cn/contests/ds/3-05 给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式说明: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式说明: 输出倒数第K个位置上的数据.如果这个位置不存在,输出错误信息"NULL". 样例输入与输出: 序号 输入 输出 1 4 1 2 3 4 5 6 7 8 9 0 -1 7 2 6 3 6 7

7-19 求链式线性表的倒数第K项(20 分)(单链表定义与尾插法)

给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式: 输出倒数第K个位置上的数据.如果这个位置不存在,输出错误信息NULL. 输入样例: 4 1 2 3 4 5 6 7 8 9 0 -1 输出样例: 7 解题思路:寻找倒数第K项,这里所用的方法是定义两个指针,让第一个指针先走k步,然后两个指针一起移动,第一个指针移到末尾的时候,第二个指针就到了倒数

7-1 求链式线性表的倒数第K项 (20 分)

给定一系列正整数,请设计一个尽可能高效的算法,查找倒数第K个位置上的数字. 输入格式: 输入首先给出一个正整数K,随后是若干正整数,最后以一个负整数表示结尾(该负数不算在序列内,不要处理). 输出格式: 输出倒数第K个位置上的数据.如果这个位置不存在,输出错误信息NULL. 输入样例: 4 1 2 3 4 5 6 7 8 9 0 -1 输出样例: 7 #include <stdio.h> #include <malloc.h> int main() { int K, temp, l

6-3 求链式表的表长 (10 分)

题目地址:https://pintia.cn/problem-sets/15/problems/726 计算链表长度,注意特判空链表的情况 int Length(List L) { if(!L) return 0;//特判空链表 int len = 1;cout<<L->Data<<endl; while(L->Next != NULL) { len++; L = L->Next; } return len; } 原文地址:https://www.cnblogs.

线性表的链式存储

线性表的链式存储 线性表的链式存储 基本概念 设计与实现 实现代码 优缺点 1. 基本概念 链式存储定义 为了表示每个数据元素与其直接后继元素之间的逻辑关系,每个元素除了存储本身的信息外,还需要存储指示其直接后继的信息. 表头结点 链表中的第一个结点,包含指向第一个数据元素的指针以及链表自身的一些信息 数据结点 链表中代表数据元素的结点,包含指向下一个数据元素的指针和数据元素的信息 尾结点 链表中的最后一个数据结点,其下一元素指针为空,表示无后继. 2.设计与实现 在C语言中可以用结构体来定义链