if (i<=0) { printf(\没有找到该学生\ return;
}
while(j
}
if(p==NULL) { printf(\没有找到该学生\ return ; } else { q=p->next; if(q==NULL)
return ;
p->next=q->next; free(q); count=count-1; printf(\删除成功!\\n\ return;
}
}
int Locate_Student(LinkList *L,char* mun) { int i=1;
LinkList *p=L->next;
21
//按学号定位,返回第i个学生
}
while(p!=NULL&&strcmp(p->mun,mun)!=0) { }
if(p==NULL)
return (0); i++; p=p->next;
else
return (i);
int Locate_Student1(LinkList *L,char* name) //按姓名定位,返回第i个学生 { }
void Queue_Subject(LinkList *&L) //不同科目排序 { 入:\
scanf(\
22
int i=1;
LinkList *p=L->next;
while(p!=NULL&&strcmp(p->name,name)!=0) { }
if(p==NULL)
return (0); i++; p=p->next;
else
return (i);
int i;
LinkList *q,*p,*t1,*t2;
printf(\请输入科目的代号:1 数据结构 2 数字信号处理 3 数电\\n请输
if(i>=1||i<=3) { for(q=L;q->next!=NULL;q=q->next) for(p=q->next;p->next!=NULL;p=p->next) {
}
}
if(q->next->score[i-1]>p->next->score[i-1]) { if(q->next==p) { t1=p->next;
p->next=p->next->next; t1->next=q->next; q->next=t1; p=t1;
} else { t1=p->next; t2=q->next;
p->next=p->next->next; q->next=q->next->next; t1->next=q->next; q->next=t1; t2->next=p->next; p->next=t2;
}
}
23
}
else { }
printf(\没有找到该科目!\\n\return;
void Queue_Student(LinkList *&L) //排序函数 {
} else {
24
int i,j=1;
printf(\、按照学号 2、总分3、按各科分排序\\n请输入:\scanf(\ LinkList *q,*p,*t1,*t2;
switch(i) {
case 1: //学号排序
for(q=L;q->next!=NULL;q=q->next)
for(p=q->next;p->next!=NULL;p=p->next) {
if(strcmp(q->next->mun,p->next->mun)==1) {
if(q->next==p) {
t1=p->next;
p->next=p->next->next; t1->next=q->next; q->next=t1; p=t1;
}
}
}
t1=p->next; t2=q->next;
p->next=p->next->next; q->next=q->next->next; t1->next=q->next; q->next=t1; t2->next=p->next; p->next=t2;
break;
case 2: //总分排序
for(q=L;q->next!=NULL;q=q->next)
for(p=q->next;p->next!=NULL;p=p->next) {
if(q->next->all_score>p->next->all_score) {
if(q->next==p) { } else {
t1=p->next;
25
t1=p->next;
p->next=p->next->next; t1->next=q->next; q->next=t1; p=t1;