首页 > 其他分享 >链表的遍历

链表的遍历

时间:2023-03-28 19:32:23浏览次数:35  
标签:Node LinkList 结点 遍历 int sum next 链表

练习1:一组整数已存放在带头结点的单链表中,设计算法,求结点值小于结点平均值的结点个数,并通过函数值返回结果。 

#include <stdio.h>

#include <stdlib.h>

typedef struct node{

int data;

struct node *next;

}Node,*LinkList;

int fact(LinkList h);

LinkList h,r,s;

h=(LinkList)malloc(sizeof(Node));

r=h;

int a;

scanf("%d",&a);

while(a!=0){

s=(LinkList)malloc(sizeof(Node));

s->data=a;

r->next=s;

r=s;

scanf("%d",&a);

}free(s);

r->next=0;

return h;

}

int fact(LinkList h){

LinkList p;

p=h->next;

int sum=0,count1=0,count2=0;

double average;

while(p){

sum=sum+p->data;

p=p->next;

count1++;

}average=sum*1.0/count1;

p=h->next;

while(p){

if(p->data<average)count2++;

p=p->next;

}return count2;

}

int main(){

LinkList head;

head=create();

printf("%d",fact(head));

return 0;

}

标签:Node,LinkList,结点,遍历,int,sum,next,链表
From: https://blog.51cto.com/u_16036037/6155258

相关文章

  • libx11遍历窗体上所有组件
    libx11遍历窗体上所有组件ANSWER想要遍历窗体上的所有组件,需要先获取窗体的ID,然后通过XQueryTree函数来获取窗体的子组件ID列表。可以通过以下步骤来实现:获取窗体I......
  • ]Java中HashMap遍历的两种方式
    笔试的时候,两次都要用到工具类hashmap,这个东西用起来果然爽啊,但是在我遍历这个map的时候,迭代器写不出来了,真是悲催了,于是还是找下吧,下面的可是要记住用处啊Java中HashM......
  • 数据结构-->单链表OJ题--->讲解_05
    本期我们讲解:>1.给定值x为基准将链表分割成两部分,所有小于x的结点排在大于或等于x的结点之前本题的思路是创建两个链表,通过比较,一个存放小于x的结点的链表,另一个存放大于......
  • 二叉树(建树|遍历|寻找最大最小深度)
    二叉树基础操作1.实现思路建树:递归从数组中按照层级建立递归:提供6种建树操作(前、中、后序递归和非递归)最大深度:利用回溯|递归实现两种操作最小深度:利用递归实现2.代......
  • 数据结构-->单链表OJ题--->讲解_04
    本期我们讲解一道:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表所有结点组成的。现附上图示样例:现在上手代码:>SLTNode*CombineLists(S......
  • HashMap和LinkedHashMap遍历机制
    原文链接:HashMap和LinkedHashMap遍历机制对HashMap和LinkedHashMap遍历的几种方法以HashMap为例,LinkedHashMap方法一样。一共有三种遍历方式Iterator<Map.Entry......
  • C#遍历指定文件夹中所有文件的3种方法
        前段时间小编同事面试遇到了这个问题,由于同事比较菜并未很完美的完成这个问题,本文就替小编来解答一下。在C#中有多种方式类遍历指定文件夹中的文件,本文将介绍三种......
  • 快慢指针-leetcode141-判断链表中是否有环。
    LeetCode#141题目描述:给定一个链表,判断链表中是否有环。如果链表中存在环,则返回true。否则,返回false。进阶:你能用O(1)(即,常量)内存解决此问题吗?示例1:example1......
  • Linux链表
    linux创建及初始化链表动态方法通过structlist_head创建,INIT_LIST_HEAD初始化。(list_head以及INIT_LIST_HEAD位于<linux/list.h>)structlist_head{structlist......
  • 203. 移除链表元素
    c++解法解法1:先确定头节点,而后移动指针/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode()......