题中p指向无序区第一个记录q指向最小值结点一趟排序结束p和q所指结点值交换同时向后移p指针
()!=null ()p>next ()r!=null ()r>data<q>data ()r>next ()p>next
题中为操作方便先增加头结点(最后删除)p指向无序区的前一记录r指向最小值结点的前驱一趟排序结束无序区第一个记录与r所指结点的后继交换指针
()q>link!=NULL ()r!=p ()p>link ()p>link=s ()p=p>link
()i<ni+ ()j<=ni+ ()r[j]key<r[min]key ()min!=i ()max==i ()r[max]<>r[ni+]
()N () ()N () ()R[P]KEY<R[I]KEY ()R[P]LINK ()(N+)(N)/()N () ()O()(每个记录增加一个字段) ()稳定 (请注意I的步长为)
()
快速
()
最好每次划分能得到两个长度相等的子文件设文件长度n=k第一遍划分得到两个长度ën/û的子文件第二遍划分得到个长度ën/û的子文件以此类推总共进行k=log(n+)遍划分各子文件长度均为排序结束
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []