设有一个数组中存放了一个无序的关键字序列K1,K2,…,Kn。现要求将Kn,放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n。

admin2017-11-14  30

问题 设有一个数组中存放了一个无序的关键字序列K1,K2,…,Kn。现要求将Kn,放在将元素排序后的正确位置上,试编写实现该功能的算法,要求比较关键字的次数不超过n。

选项

答案int Partition(RecType K[],int m,int n){ //交换记录子序列K[1..n]中的记录,使枢轴记录到位,并返回其所在位置 //此时,在它之前(后)的记录均不大(小)于它 int i=m,j=n,K[0]=K[j],x=K[j].key; while(i=x)j--; if(in为枢轴的一趟快速排序。以最后一个关键字为枢轴先从前向后再从后向前快速排序。

解析
转载请注明原文地址:https://jikaoti.com/ti/xDfjFFFM
0

最新回复(0)