请帮我解释一下这个函数每一步都是在做什么。。。

#include<iostream.h>structNode{intdata;Node*next;};voidfun(Node*head,intdata){Node*p=... #include <iostream.h>
struct Node
{
int data;
Node* next;
};
void fun(Node* head,int data)
{
Node* p= new Node;
p->data = data;
p->next = NULL;
while( head->next )
{
head = head->next;
}
head->next = p;
}
void main()
{
int data;
Node head;
head.next = NULL;
do
{
cout<<"please input a number: "<<endl;
cin>>data;
if( data == 0)
break;
fun(&head,data);

} while(1);
Node *p = head.next;
while(p)
{
Node* q = p->next;
cout<<p->data <<" ";
delete p;
p = q;

}
cout<<endl;
return;
}
拜托帮忙告诉我 fun(Node* head,int data)函数的每一步都是用来做什么的。(我知道它是产生一个节点,节点中存入数据data,然后把节点加入到队列中。 但是我看不懂这个函数究竟是怎么实现的)
展开
 我来答
百度网友48abd03
2013-09-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
void fun(Node* head,int data)
{ Node* p= new Node; 产生一个新的结点p
p->data = data; 给结点数据域赋值
p->next = NULL; 结点指针域为空
while( head->next ) 当head的指针域不为空
{ head = head->next; 前移一位} }
head->next = p; 把p的地址存放在head的指针域中}
White_MouseYBZ
2013-09-01
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
void fun(Node* head,int data){//定义函数fun,有一个Node结点指针形参head、一个int变量data.
Node* p= new Node;//声明Node*指针p,并开辟一块Node大小的内存空间,并将首地址赋给p.
p->data = data;//给刚开辟的结点空间内成员变量data赋值为形参data带来的值.
p->next = NULL;//将结点指针成员next初始化为NULL.
while( head->next ){//若形参指针所指结点中的指针变量next不为NULL则继续循环.
head = head->next;//将形参指针结点内next指针向后移一位,指向下一结点.
}//若形参指针所指结点中的指针变量next为NULL(最后一结点)则结束循环.
head->next = p;//将最后一个切点的指针成员变量next赋值为新创建的结点首址p。
}
整个函数的作用是在原链表的最后追加一个结点。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
?>

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式