求c/c++大神帮忙找错!
删除单链表重复数,帮忙看看哪错了#include<iostream.h>structList{intdata;structList*next;};typedefstruc...
删除单链表重复数,帮忙看看哪错了
#include <iostream.h>
struct List{
int data;
struct List * next;
};
typedef struct List * LIST;
LIST Create(){
LIST head,q,p;
head=new List;
head->next=NULL;
q=head;
int data;
while(1){
cin>>data;
if(data==0)break;
p=new List;
p->data=data;
p->next=NULL;
q->next=p;
q=p;
}
return head;
}
void purge(LIST & head){
LIST p,q;
p=head->next;
while(p!=NULL){
q=p->next;
while(q!=NULL){
if(p->data=q->data){
p->next=q->next;
delete q;}
else
{q=q->next;}
}
p=p->next;
}
}
main(){
LIST p;
p=Create();
purge(p);
cout<<"删除重复的数后:\n";
while(p->next!=NULL){
cout<<p->next->data<<" ";
p=p->next;
}
} 展开
#include <iostream.h>
struct List{
int data;
struct List * next;
};
typedef struct List * LIST;
LIST Create(){
LIST head,q,p;
head=new List;
head->next=NULL;
q=head;
int data;
while(1){
cin>>data;
if(data==0)break;
p=new List;
p->data=data;
p->next=NULL;
q->next=p;
q=p;
}
return head;
}
void purge(LIST & head){
LIST p,q;
p=head->next;
while(p!=NULL){
q=p->next;
while(q!=NULL){
if(p->data=q->data){
p->next=q->next;
delete q;}
else
{q=q->next;}
}
p=p->next;
}
}
main(){
LIST p;
p=Create();
purge(p);
cout<<"删除重复的数后:\n";
while(p->next!=NULL){
cout<<p->next->data<<" ";
p=p->next;
}
} 展开
展开全部
while(q!=NULL){
if(p->data=q->data){
p->next=q->next;
delete q;}
if语句的判断条件,p->data=q->data 这个应该是 p->data==q->data吧。。。。。
if(p->data=q->data){
p->next=q->next;
delete q;}
if语句的判断条件,p->data=q->data 这个应该是 p->data==q->data吧。。。。。
更多追问追答
追问
还是不行。。。
追答
while(q!=NULL){
if(p->data=q->data){
p->next=q->next;
delete q;}
else
{q=q->next;}
}
p=p->next;
}
加一句
while(q!=NULL){
if(p->data=q->data){
p->next=q->next;
delete q;
q = NULL;//加这里
}
else
{q=q->next;}
}
p=p->next;
}
展开全部
错误没找,不过建议你先把所有的List先换成别的,list这么敏感的词都能用?
追问
换了也没用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#包括
#包括
#包括
#包括的
结构名称
{
字符姓[20];
字符SecondName [20];
};的
struct PlayerDate的
浮动Height_Inch Height_Feet,重量;
}
足球队员
{
名称MyPlayer;
PlayerDate TheDate;
}; / a>
足球队员* PlayerAverages(足球队员B [3] [20]);
的无效WritePlayer(足球队员,足球队员);
的main()
{ BR />足球队员一个[3] [20],*平均;
INT I;
(i = 0; I <3; + +)
{
COUT “,”请输入第一个“<< i +1的<<”个人姓名“;
cin.getline(A [0] [20]。MyPlayer.FirstName,20); CIN。函数getline([0] [20]。MyPlayer.SecondName,20);
COUT <<“第一次”,“第i +1 <<”请输入个人的身高;
CIN >> A [0 TheDate.Height_Inch
法院<<“请输入第一”<< i +1 <<“个人体重; > A [0] [20]。 BR /> CIN >> A [0] [20]。 TheDate.Weight
平均= PlayerAverages(一)
返回0;
}
足球队员* PlayerAverages(足球队员B [3] [20])
{
足球队员的* T;
我;
浮法All_Weight的,All_Height;
(I = 0; I <3; i + + 5)
{
All_Weight + =(B [I] [20]。TheDate.Weight);
All_Height + =((B [I] [20]。TheDate.Height_Feet)* 12 +(B [I] [20]。TheDate.Height_Inch));
}
T-> TheDate.Height_Feet = All_Height/12;
T-> TheDate.Height_Inch = All_Height -All_Height/12;
T-> TheDate重量All_Weight/20;
则返回t;
}
帮助你改变它,你可以
#包括
#包括
#包括的
结构名称
{
字符姓[20];
字符SecondName [20];
};的
struct PlayerDate的
浮动Height_Inch Height_Feet,重量;
}
足球队员
{
名称MyPlayer;
PlayerDate TheDate;
}; / a>
足球队员* PlayerAverages(足球队员B [3] [20]);
的无效WritePlayer(足球队员,足球队员);
的main()
{ BR />足球队员一个[3] [20],*平均;
INT I;
(i = 0; I <3; + +)
{
COUT “,”请输入第一个“<< i +1的<<”个人姓名“;
cin.getline(A [0] [20]。MyPlayer.FirstName,20); CIN。函数getline([0] [20]。MyPlayer.SecondName,20);
COUT <<“第一次”,“第i +1 <<”请输入个人的身高;
CIN >> A [0 TheDate.Height_Inch
法院<<“请输入第一”<< i +1 <<“个人体重; > A [0] [20]。 BR /> CIN >> A [0] [20]。 TheDate.Weight
平均= PlayerAverages(一)
返回0;
}
足球队员* PlayerAverages(足球队员B [3] [20])
{
足球队员的* T;
我;
浮法All_Weight的,All_Height;
(I = 0; I <3; i + + 5)
{
All_Weight + =(B [I] [20]。TheDate.Weight);
All_Height + =((B [I] [20]。TheDate.Height_Feet)* 12 +(B [I] [20]。TheDate.Height_Inch));
}
T-> TheDate.Height_Feet = All_Height/12;
T-> TheDate.Height_Inch = All_Height -All_Height/12;
T-> TheDate重量All_Weight/20;
则返回t;
}
帮助你改变它,你可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询