有一个单向链表(不同结点的数值可能相同),其头指针为head,编写一个函数计算值域为x的结点个数。
我的算法:
void Num (node *head,Int n)
{
node *p;
int n=0;
p=hesad;
if p->data==x;
n++;
else p=p->next;
printf("%d",n);
}
大家帮忙看一下有没有什么问题
还有学习写算法应该注意些什么?
有一个单向链表(不同结点的数值可能相同),其头指针为head,编写一个函数计算值域为x的结点个数。
我的算法:
void Num (node *head,Int n)
{
node *p;
int n=0;
p=hesad;
if p->data==x;
n++;
else p=p->next;
printf("%d",n);
}
大家帮忙看一下有没有什么问题
还有学习写算法应该注意些什么?
void Num (node *head,Int n)
{
node *p;
int n=0;
p=hesad;
if p->data==x;
n++;
else p=p->next;
printf("%d",n);
}
p=head 而不是hesad;
if( p->data==x)
首先你这个N很有问题,如果你再其他函数里需要这个N 要用引用,在函数体里为 int &n)
如果不是那样的话就不用传N这个参数,我假设你不用这个传递这个参数
void Num (node *head,Int n)
{
node *p;
int n=0;
while(p->next)
{
if(p->data==x)
{
n++;p=p->next;
}
else p=p->next;
}
}
printf........