{
struct stucode *t,*p,*q,*z; if(!r) {
printf(\没有学生信息可排序!\\n\ return ; } if(!(*r)||!(*r)->next) return; t=*r; p=t->next; t->next=NULL; while(p) { q=p->next; if(p->student.num>t->student.num) { p->next=t; t=p; } else { z=t;
while(z->next&&z->next->student.num>=p->student.num) z=z->next; p->next=z->next; z->next=p; }
p=q; } *r=t; }
void out(struct stucode *r) { printf(\ if(!r) { printf(\没有学生信息可输出!\\n\ return ; } while(r) { printf(\nt.birthday,r->student.tel); r=r->next; } printf(\ }
void menu() {
printf(\学生信息管理系统\\n\ printf(\菜单\\n\\n\
printf(\建立链表并显示\\n\ printf(\查找某学号的学生信息\\n\ printf(\查找某姓名的学生信息\\n\ printf(\删除某学号的学生信息\\n\ printf(\插入新的学生信息\\n\ printf(\按学号降序排列输出\\n\ printf(\输出\\n\ printf(\退出\\n\ printf(\请选择您要执行的选项:\\n\ }