永发信息网

数据结构的习题找高手帮忙解决~!

答案:1  悬赏:0  手机版
解决时间 2021-07-17 05:33

有一个单链表,其头指针为head,编写一个函数来计算数据域为x的结点个数

int count(head)

node * head;

{ node * p;

int n= ();

p= head ;

while(p!=NULL)

{ if(p->data= = x)n++;

p= p->next;

return(n);

}

}

这是网上找到的答案,老师叫我们做个程序需要与主函数连接,放在c++中可以运行的,有没有高手帮忙,感激不尽~~

最佳答案

主函数只用于测试,所以随便写了个。根据数组生成一个单链表,然后调用函数来求数据域为2的结点个数。你在网上找的那个函数设计得不合理,应该把要计算个数的值也作为函数参数,所以我对函数做了一点修改。如果对主函数有其它要求,请追问。

#include <iostream>


using namespace std;


struct node
{
int data;
node *next;
};


int count(node *head, int x)
{
int c = 0;
while(head)
{
if(head->data == x)
++c;
head = head->next;
}
return c;
}


int main()
{
int a[10] = {1, 2, 5, 2, 3, 2, 1, 2, 3, 2}, i;
node *head, *p;
head = p = new node;
p->data = a[0];
for(i = 1; i < 10; ++i)
{
p->next = new node;
p = p->next;
p->data = a[i];
}
p->next = NULL;
cout << "数据域为2的结点有" << count(head, 2) << "个\n";
return 0;
}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
QQ多少天能到2太阳
圣诞节要怎么过哪??
我要三十六计的所有计策
《黑之契约》播放时间,不查不知道一查吓一跳
北师大版英语听力在哪下
DNF吉林2谁有20J光剑?
怎样存放电池
手术疤痕后的色素沉淀如何彻底消除?
文件夹权限的设置
诺基亚N78二手机值多少钱!
至亲笔记在韩国那个台几点演?
魔兽世界开了大脚为什么不显示上马的效果提示
地下城的焚天剑在那出来的?
为什么在一起过的人,最终变为陌生人?
爱到至深真的可以为一个人死么?
推荐资讯
问问上回答问题的人怎么都不看清题目就回答呢
狼到北极后会变成什么?
谁能帮我写一篇“最后,我选择放开你的双手”
脸上部分有红血丝用什么化妆品才能去掉?
怎样是快乐的?
我焚香谷现在42了、可以秒四吗?
怎么实别手机是行货还是水货呢
两轮摩托车行驶过程中时速表时针不动是什么原
一个身份证只能认证一个支付宝账户吗?
那个网站可以看到奔驰SLK300普通版的黑色跑车
QQ华夏怎样快速升到25级?
一个好男人的标准是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?