《选择排序在链表中的实现图解.ppt》由会员分享,可在线阅读,更多相关《选择排序在链表中的实现图解.ppt(40页珍藏版)》请在三一办公上搜索。
1、l,p,q,m,n,4,16,2,1,5,8,6,temp1,p=l;q=l-next;,m=p-next;n=q-next;temp1=m;,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,进入外循环,l,p,q,m,n,4,16,2,1,5,8,6,temp1,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,m=temp1;n=temp1-next;,进入内循环,l,p,q,m,n,4,16,2,1,
2、5,8,6,temp1,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,if(temp1-next-datadata,l,p,q,m,n,4,16,2,1,5,8,6,temp1,条件:最小点n后移的条件是比基准点小,还要比n本身小,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,if(temp1-next-datadata,l,p,q,m,n,4,16,2,1,5,8,6,temp1,l,p,q,m,n
3、,4,16,2,1,5,8,6,temp1,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,l,p,q,m,n,4,16,2,1,5,8,6,temp1,l,p,q,m,n,4,16,2,1,5,8,6,temp1,temp1=temp1-next;,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,l,p,q,m,n,4,16,2,1,5,8,6,temp1,l,p,q,m,n,4,16,2,1,5,8,
4、6,temp1,temp1=temp1-next;,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,l,p,q,m,n,4,16,2,1,5,8,6,temp1,l,p,q,m,n,4,16,2,1,5,8,6,temp1,temp1=temp1-next;,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,l,p,q,m,n,4,16,2,1,5,8,6,temp1,l,p,q,m,n,4,16,2,1,
5、5,8,6,temp1,temp1=temp1-next;,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,l,p,q,m,n,4,16,2,1,5,8,6,temp1,跳出内循环,继续外循环,if(m!=p-next|(m=p-next,l,p,q,m,n,4,16,2,1,5,8,6,temp1,if(m!=p-next|(m=p-next,基准点的前一个节点指向最小点,l,p,q,m,n,4,16,2,1,5,8,6,temp1,if(m!=p-next|(m=p-next,p后移,l,p,q
6、,m,n,4,16,2,1,5,8,6,temp1,最小点的前一个节点指向基准点,if(m!=p-next|(m=p-next,l,p,q,m,n,4,16,2,1,5,8,6,temp1,m后移,if(m!=p-next|(m=p-next,l,p,q,m,n,4,16,2,1,5,8,6,temp1,基准点下移,if(m!=p-next|(m=p-next,l,p,q,m,n,4,16,2,1,5,8,6,temp1,最小点下移,if(m!=p-next|(m=p-next,l,p,q,m,n,4,16,2,1,5,8,6,temp1,被基准点指向的现在由最小点指向,if(m!=p-nex
7、t|(m=p-next,l,p,q,m,n,4,16,2,1,5,8,6,temp1,被最小值指向的现在由基准点指向,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,l,p,q,m,n,4,16,2,1,5,8,6,temp1,完成交换,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,l,p,q,m,n,1,16,2,4,5,8,6,temp1,顺序结构展示,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,l,p,q,m,n,1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(te
8、mp1-next-datadata,l,p,q,m,n,1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(temp1-next-datadata,l,p,q,m,n,1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(temp1-next-datadata,l,p,q,m,n,1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(temp1-next-datadata,l,p,q,m,n,1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(temp1-next-datadata,l,p,q,m,n,
9、1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(temp1-next-datadata,l,p,q,m,n,1,16,2,4,5,8,6,temp1,退出外循环,再次进入外循环,if(m!=p-next|(m=p-next,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,基准点的前一个节点指向最小点,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,p后移,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,最小点的前一个节点指向
10、基准点,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,m后移,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,基准点下移,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,最小点下移,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next,被基准点指向的现在由最小点指向,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,被最小值指向的现
11、在由基准点指向,l,p,q,m,n,1,16,2,4,5,8,6,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,完成交换,l,p,q,m,n,1,2,16,4,5,8,6,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,顺序结构展示,l,p,q,m,n,1,2,4,16,5,8,6,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,完成剩下的交换,l,p,q,m,n,1,2,4,5,16,8,6,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,完成剩下的交换,l,p,q,m,n,1,2,4,5,6,8,16,if(m!=p-next|(m=p-next/被最小值指向的现在由基准点指向,完成剩下的交换,q始终指向基准点,p始终指向基准点的前一个节点n始终指向最小点,m始终指向最小点的前一个节点temp1则作为扫描指正,扫描基准点以后的整个链表,l,p,q,m,n,1,2,4,5,6,8,16,完成剩下的交换,elsep=p-next;q=q-next;,m=p-next;n=q-next;temp1=m;,