I want to sort a link list, everything is right but it has run-time error and I don't know where is the problem!
here is the code:
Code:struct student
{
char name[20];
int ID;
}*start, *cur, *temp;
Code:struct student *p, *k, *PB, *PF, *KB, *KF;
int n = 1;
temp = start;
while(temp != cur)
{
n++;
temp = temp->FL;
}
for(int i = 0; i < n; i++)
{
for(p = start; p->FL != cur->FL; p = p->FL)
{
for(k = p->FL; k != cur->FL; k = k->FL )
{
if (p->ave > k->ave && k != p->FL)
{
PB = p->BL;
PF = p->FL;
KB = k->BL;
KF = k->FL;
PB->FL = k;
PF->BL = k;
KB->FL = p;
KF->BL = p;
p->FL = KF;
p->BL = KB;
k->FL = PF;
k->BL = PB;
}
else if (p->ave > k->ave && k == p->FL)
{
PB = p->BL;
KF = k->FL;
PB->FL = k;
KF->BL = p;
p->FL = KF;
p->BL = k;
k->FL = p;
k->BL = PB;
}
}
}
}