关于QuickSort
请看下面的一段代码:
template<class T>
void QuickSort( T data[], int n ){
int i, max;
if ( n < 2 ) return;
//find the largest element and put it at the end of data[]
for ( int i = 1, max = 0; i < n; i++ ){ //??WHY
if ( data[max] < data[i] ) max = i;
}
exch ( data[n-1], data[max] );
QuickSort( data, 0, n-2 );
}
我的问题是:
为什么要用这一段,效率上有很大作用吗?
for ( int i = 1, max = 0; i < n; i++ ){ //??WHY
if ( data[max] < data[i] ) max = i;
}
exch ( data[n-1], data[max] );