首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

链表有关问题有关问题

2013-04-21 
链表问题问题!建立一个对象,输入要的数组的个数,对他们进行链表创建,运行:#includeiostreamusing namesp

链表问题问题!
建立一个对象,输入要的数组的个数,对他们进行链表创建,运行:
#include<iostream>
using namespace std;
class data
{
public:
data(void);
data *next;
void show(void);
float s;
private:
int n;
char na[20];
};
void data::show(void)
{
cout<<n<<"  "<<na<<"  "<<s<<endl;
}
data::data(void)
{
cout<<"请输入学生的学号、姓名、成绩:"<<endl;
cin>>n>>na>>s;
}
int main(void)
{
data *creat(data *head,int n);
data *p,*head;
int x;
cout<<"qing shuru geshu:"<<endl;
cin>>x;
head=new data[x];
p=creat(head,x);
while(p!=0)
{
data();
p=p->next;
}
p=head;
while(p!=0)
{
if(p->s<=60)
p->show();
p=p->next;
}
return 0;
}

data *creat(data *head,int n)
{

data *p;
int i=1;
p=head;
while(p<n)
{
p->next=l+1;
p++;
i++;
}
l->next=0;
return head;
}


为什么总是while(p!=0)这句多运行一倍,而while(p!=0)//输出不及格的学生的数据这句却没运行半个?
{                          {
data();               if(p->s<=60)
p=p->next;              p->show();
}                             p=p->next;
                                   } 类 链表
[解决办法]
楼主, 我帮你把代码格式化下,


#include<iostream>
using namespace std;
class data
{
public:
data(void);
data *next;
void show(void);
float s;

private:
int n;
char na[20];
};

void data::show(void)
{
cout<<n<<"  "<<na<<"  "<<s<<endl;
}

data::data(void)
{
cout<<"请输入学生的学号、姓名、成绩:"<<endl;
cin>>n>>na>>s;
}

int main(void)
{
data *creat(data *head,int n);
data *p,*head;
int x;

cout<<"qing shuru geshu:"<<endl;
cin>>x;

head=new data[x];
p=creat(head,x);
while(p!=0)
{
data();
p=p->next;
}
p=head;
while(p!=0)
{
if(p->s<=60)
p->show();
p=p->next;
}
return 0;
}

data* creat(data *head,int n)
{
data *p;
int i=1;

p=head;
while(p<n)
{
p->next=l+1;
p++;
i++;
}
l->next=0;
return head;
}


[解决办法]
楼主, 你确认你编译通过了的?????????????????

data* creat(data *head,int n)


{
    data *p;
    int i=1;
 
    p=head;
    while(p<n)    // 这里比较干嘛?
    {
        p->next=l+1;  // 这里又是什么含义。l哪里来的 ? 
        p++;
        i++;
    }
    l->next=0;
    return head;
}

热点排行