甄志坚的编程日记jan365.blog.chinaunix.net
Jan365
全部博文(23)
2011年(2)
2010年(3)
2008年(18)
teloser
haoque67
wxdlzl
观辰_sup
superqyl
Freewill
pangzong
zhuhuadu
liying10
zhangm81
分类:
2008-07-19 02:15:35
struct person *sort(struct person *head) /*选择法排序。bfp1为p1前一地址,bfmin为min前一地址。*/ { struct person *p1=NULL,*p2=NULL,*bfp1=NULL,*min=NULL,*bfmin=NULL; p1=head; while(p1->next)/*判断链尾*/ { min=p2=p1; while(p2->next)/*判断链尾*/ { if(strcmp(min->name,p2->next->name)>0) { bfmin=p2; min=p2->next; } p2=p2->next;/*下移*/ } if(min!=p1)/*成立则修改链表*/ { bfmin->next=min->next;/*删除节点*/ min->next=p1;/*插入节点*/ if(p1==head) head=min; else bfp1->next=min; bfp1=min; } else { bfp1=p1; p1=p1->next;/*下移*/ } } return(head); }
上一篇:堆栈算法
下一篇:关于shared libraries的一些命令和配置
登录 注册