2 u012257682 u012257682 于 2013.11.08 14:57 提问

C++中对类的一个数据成员排序,为什么排序不了

#include
#include
#include
#include
class List;
class person
{
public:
friend class List;
private:
person() {next=0;}
person *next;
char name[10],sex[5],tel[15],ads[20],code[10],mail[20],QQ[15],category[15];
};

class List
{
public:
int sort(); // 根据姓名对人员信息排序输出
private:
person *end();
person *list;

};

int List::sort()
{
int j; j=this->len();
person *p=list,*q,*s;
person *a[100];
while(p!=NULL)
{
q=p;
p=p->next;
if(p==NULL) a[0]=q;
else
{
if(strcmp(q->name,p->name)>0)
a[0]=q;
else
a[0]=p;
}
}
cout<name< p=list;
for(int i=1;i {
while(p!=NULL)
{
q=p;
p=p->next;
s=a[i-1];
if(strcmp(s->name,q->name)>0&&strcmp(s->name,p->name)>0)
{
if(strcmp(q->name,p->name)>0)
a[i]=q;
else
a[i]=p;
if(p->next==NULL) break;
}
}
p=list;
}
for(i=0;i {
p=a[i];
coutname< coutsex< couttel< coutads< coutmail< coutQQ< coutcode< coutcategory<<endl;

        }

return 1;
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!