0001 void reverse ( int* A, int lo, int hi ) { //数组倒置(直接改造而得的迭代版) 0002 next: //算法起始位置添加跳转标志 0003 if ( lo < hi ) { 0004 swap ( A[lo], A[hi] ); //交换A[lo]和A[hi] 0005 lo++; hi--; //收缩待倒置区间 0006 goto next; //跳转至算法体的起始位置,迭代地倒置A(lo, hi) 0007 } //else隐含了迭代的终止 0008 } //O(hi - lo + 1)