上海大学99考研题
一、 请完善下列程序或算法流程图,其中第1、2、3小题在(a),(b)中任选一题:(共36分)
1. 下列程序段search(a,n,k)在数组a的前n(n>=1)个元素中找出第k(1<=k<=n)小的值。这里假设数组a中各元素的值都不相同。(8分)
程序(a)
#define MAXN 100
int a[MAXN],n,k;
int search-c(int a[], int n, int k)
{
int low, high, i, j, m, t;
k--, low=0 ; j=high ; t=a[low];
do {
while (i
if (i
while (i=a[i]) i++
if (i
} while (i
a[i]=t;
if ( (1) )
if (i
low= (2) ;
else
high= (3) ;
} while ( (4) );
return(a[k]);
}
程序(b)
const maxn=100; |