FUNCTION (A[1..n]. min, max)
if r=1
min <- A[l];
max <- A[r];
else if r-1 = 1
if A[l] < A[r]
min <- A[l];
max <- A[r];
else
min <- A[l];
max <- A[r];
else
FUNCTION (A[1..n/2]. min, max)
FUNCTION (A[(n/2 + 1)..n]. min2, max2)
if min > min2
min <- min2
if max > max2
max <- max2
对于n> 2,比较次数为C(n)= C(n / 2) + 2 。
但我不知道为什么要添加2 ??