此算法的期望运行时间为O(sqrt(n))
RANDOM-SEARCH(A, n, k)
i<-1
while i<=n and A[i]<k
do j<-RANDOM(i+1, n)
if A[j]<=k
then i<-j
if A[i]=k
then return i
i<-i+1
if i>n or A[i]>k
then return NIL
else return i