int sort_ID(STU *head,int len){
int i,j;
if(len < 2)
return 0;
STU *pre = head; //前一节点
STU *cur = head->next; //交换的节点
STU *tail = cur->next; //交换的节点
for(i=1;ifor(j=0;jif(strcmp(cur->ID,tail->ID) > 0){
pre->next = tail; //交换
cur->next = tail->next;
tail->next = cur;
pre = tail; //交换成功后移
tail = cur->next;
}else{
pre = cur; //未交换平移
cur = tail;
tail = tail->next;
}
}
//重新下一轮查找
pre = head; //前一节点
cur = head->next; //交换的节点
tail = cur->next; //交换的节点
}
return 0;
}