时间复杂度:o(n^2),比较总次数为((n-1)+1)*(n-1)/2=n*(n-1)/2
C代码:
template <typename T>
void bubble_sort( T t[], int size, bool bASC = true )
{
T temp;
for ( int i=0; i<size-1; ++i)
{
for ( int j=i+1; j<size; ++j)
{
if ( ( bASC && t[j]<t[i] ) || ( !bASC && t[i]<t[j] ) )
{
temp = t[j];
t[j] = t[i];
t[i] = temp;
}
}
}
}
网友评论