双向链表的冒泡排序问题
void zongfenpaixu(Linklist &L)//按照总分成绩排序(冒泡法)
{
Linklist p;
int n,m,j;
p=L;//头结点存储了内容
n=read1();//读取学生的个数,即存储信息的结点个数
for(m=1;m<n;m++)
{
for(j=1;j<n;j++)
{
if(p->zongfen<p->next->zongfen)
{
p->next=p->next->next;
p->next->prior->next=p;
p->prior->prior=p->prior;
p->prior=p->next->prior;
p->next->prior=p;
}
else
p=p->next;
}
p=L;
}
printf("\n按照总分排序后的结果是:\n\n");
print(L);//自己写的输出函数,没有问题
}
这个排序始终有问题,请大侠指出,谢谢