int lastSwapPos , lastSwapPosTemp = 0 ;
for( int i = 0 ; i < n ; i++ ){
lastSwapPos = lastSwapPosTemp;
for( int j = n - 1 ; j > lastSwapPos ; j-- ){
if( a[j] < a[j-1] ){
swap(a[j],a[j-1]);
lastSwapPosTemp = j;
}
}
if( lastSwapPosTemp == lastSwapPos ) break;
}