阅读下列排序算法,并与已学算法相比较,讨论算法中基本操作的执行次数。
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