三个学生按,9、99、11输入,自己草稿纸过了一遍应该是99、11、9没问题,但是一运行就99、9、11,不清楚错在哪
Status PX(LinkList &L)
{
int i,j,l;
//LNode *d=L;
LNode *p=L->next->next;
LNode *s,*d;
l=GetLenght(L);//l是学生个数
for(i=0;i<l-1;i++)
{
d=L;
for(j=0;j<i+1;j++)
{
if(d->next->data<p->data)
{
s=p;
d->next->next=s->next;
s->next=d->next;
d->next=s;
}
d=d->next;
}
p=p->next;
}
return OK;
}
这么改:
Status PX(LinkList& L)
{
int i, j, l, t;
LNode* p = NULL, * d = NULL;
l = GetLenght(L);//l是学生个数
for (i = 0; i < l - 1; i++)
{
d = L;
for (j = 0, p = d->next; j < l - i - 1; j++)
{
if (d->data < p->data)
{
t = d->data;
d->data = p->data;
p->data = t;
}
d = p;
p = p->next;
}
}
return OK;
}