数据结构 统计单链表大于指定值的元素个数

本题要求实现一个函数,可统计带头结点的单链表中大于指定值的元素个数。

函数接口定义:

int GetLarger( LinkList L,ElemType e );

L是带头结点的单链表的头指针,e是要比较的元素值。函数GetUp返回单链表中大于e的元素个数;没有,则返回0。

裁判测试程序样例:

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

typedef int ElemType;
typedef struct LNode
{
   
	ElemType data;
	struct LNode *next;
}LNode,*LinkList;

LinkList Create();
  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
可以通过遍历单链表统计数据元素结点个数,并且同时也可以记录最大和最小。具体方法如下: 1. 定义一个计数器变量 count,初始为 0。 2. 定义两个变量 max 和 min,初始分别为链表的第一个元素的数。 3. 从链表的第一个节点开始,依次访问每个节点。 4. 对于每个节点,将计数器变量 count 的加 1。 5. 如果该节点的数大于当前的最大 max,则将变量 max 的更新为该节点的数。 6. 如果该节点的数小于当前的最小 min,则将变量 min 的更新为该节点的数。 7. 遍历完整个链表后,输出计数器变量 count 的,以及最大和最小。 代码示例: ```python class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next # 定义一个单链表 head = ListNode(1) head.next = ListNode(2) head.next.next = ListNode(3) head.next.next.next = ListNode(4) head.next.next.next.next = ListNode(5) # 统计链表中元素个数,以及最大和最小 count = 0 max_val = head.val min_val = head.val node = head while node: count += 1 if node.val > max_val: max_val = node.val if node.val < min_val: min_val = node.val node = node.next # 输出结果 print("链表中元素个数:", count) print("最大:", max_val) print("最小:", min_val) ``` 输出: ``` 链表中元素个数: 5 最大: 5 最小: 1 ``` 当然,这只是一个简单的例子,实际上,统计单链表元素个数、最大和最小还有许多其他的方法和技巧,可以根据实际情况选择不同的算法和数据结构
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值