关于#数据结构#的问题,请各位专家解答!

已知一个带头结点的单链表头指针为head,数据域的值为整数,数据类型定义如下:

typedef struct node{

int data;

struct node *next;

}Lnode, *LinkList;

(1)设计一个函数float avgList(LinkList head),统计head为头指针的单链表中元素的平均值并返回。

(2)void deleX(LinkList head, int x),在head为头指针的单链表中删除所有值为x的元素结点。

大概这样子。
float avgList(LinkList head)
{
    float sum = 0;
    int n = 0;
    LinkList p = head->next;
    while (p)
    {
        n++;
        sum += p->data;
        p = p->next;
    }
    return sum / n;
}

void deleX(LinkList head, int x)
{
    LinkList q, p = head;
    while (p->next)
    {
        if (p->next->data == x)
        {
            q = p->next;
            p->next = p->next->next;
            free(q);
        }
        else
            p = p->next;
    }
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632