为了账号安全,请及时绑定邮箱和手机立即绑定

就是fun函数每一行都是什么意思,我是个刚学C++的新手,麻烦讲的通俗些~

就是fun函数每一行都是什么意思,我是个刚学C++的新手,麻烦讲的通俗些~

C++
四季花海 2023-04-22 17:13:00
#include <iostream>using namespace std;class NODE{public:int data;NODE *next;};void fun(NODE *list,int x){NODE *u,*v,*p;u=list;v=u->next;while(v!=NULL&&x<v->data){u=v;v=v->next;}if(v==NULL||x>v->data){p=new NODE;p->data=x;p->next=v;u->next=p;}}void main(){int x;NODE *head,*p;head=new NODE;head->next=NULL;cout<<"Enter integers,end with 0"<<endl;while(1){cin>>x;if(x==0)break;fun(head,x);}for(p=head->next;p!=NULL;p=p->next)do{p=head->next;delete head;head=p;}while(p);}
查看完整描述

1 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

void fun(NODE *list,int x) // 一个函数 ,第一个参数类型为NODE对象指针,第二个参数类型为int
{
NODE *u,*v,*p; // 声明三个NODE对象的指针 u, v, p 
u=list; // u指向list指向的地址
v=u->next; // v指向了u的下一个节点位置
while(v!=NULL&&x<v->data) // 循环,如果v指向的位置不为空并且x小于v指向对象的成员data
{
u=v; // u指向v,即u指向链表的下一个对象
v=v->next; // v指向了链表的下一个对象
}
if(v==NULL||x>v->data) // 判断,如果v指向的位置为空,或者x大于v指向对象的成员data,只要满足一个条件就执行以下括号里面的语句
{
p=new NODE; // 动态构造出一个NODE 对象(匿名对象)并且将对象的地址赋值给p 
p->data=x; // 给匿名对象的成员赋值,data = x ;
p->next=v; // 匿名对象的next指向了v指向的对象
u->next=p; // 把匿名对象接入链表中适当的位置
}
}// 函数的作用:将变量x插入链表中,保证x前面的元素一定比x大 

查看完整回答
反对 回复 2023-04-25
  • 1 回答
  • 0 关注
  • 142 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信