阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。
void sort(SqList &r, int n)
{
i=1;
while (i<n-i+1)
{
min = max = 1;
for(j=i+1; j<=n-i+1; ++j)
{
if(r[j].key<r[min].key)
min = j;
else if(r[j].key>r[max].key)
max = j;
}//for
if(min!=i)
r[min]↔r[i];
if(max!=n-i+1)
{
if(max==i)
r[min]↔r[n-i+1];
else
r[max]↔r[n-i+1];
}//if
i++;
}//while
}//sort 