private static void sortBalls(int a[]){ int cur=0, begin=0, end=a.length-1; while( cur <= end){ if( a[cur]==0){ a[cur] = a[cur]^a[begin]; a[begin] = a[cur]^a[begin]; a[cur] = a[cur]^a[begin]; cur++; begin++; } else if( a[cur]==1) cur++; else{ a[cur]=a[cur]^a[end]; a[end]=a[cur]^a[end]; a[cur]=a[cur]^a[end]; } } }
本文爲《編程之法 面試和算法心得》讀書筆記。java