下列程序段search(ank)在数组a的前n(n>=)个元素中找出第k(<=k<=n)小的值这里假设数组a中各元素的值都不相同
#define MAXN
int a[MAXN]nk;
int search_c(int a[] int n int k)
{int low high i j m t;
k;low= ;high=n;
do {i=low; j=high ; t=a[low];
do{while (i<j && t<a[j]) j;
if (i<j) a[i++]=a[j];
while (i<j && t>=a[i]) i++
if (i<j) a[j]=a[i];
} while (i<j);
a[i]=t;
if__()__;
if (i<k) low=__()__; else high=__()__;
}while__()__;
return(a[k]);
}【上海大学 一(分)】
[] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] []