设计一个用链表表示的直接选择排序算法。

admin2010-04-24  18

问题 设计一个用链表表示的直接选择排序算法。

选项

答案Void selesort(lklist L) /*设链表L带头结点*/ { q=L; /*指向第一数据前趋*/ while(q—>next!=NULL) { p1=q—>ntxt; minp=p1; /*minp指向当前已知的最小数*/ while(p1—>next!=NULL) { if(p1—>next—>data<minp—>data) minp=p1—>next; /*找到了更小数*/ p1=p1—>next; /*继续往下找*/ } if(minp!=q—>next; /*将最小数交换到第一个位置上*/ { r1=minp—>next minp—>next=r1—>next; /*删除最小教*/ r2=q—>next; q—>next=r2—>next; /*删除当前表中第一个数*/ r1—>next=q—>next; q—>next=r1; /*将最小插入到第一位置上*/ r2—>next=minp—>next; minp—>next=r2; /*将原第一个数放到最小数原位置上*/ } q=q>next; /*选择下一个最小数*/ } }

解析
转载请注明原文地址:https://jikaoti.com/ti/Z2taFFFM
本试题收录于: 数据结构题库理工类分类
0

最新回复(0)