這裡下半部是partition的部分
我的方法蠻繁雜的
小球的好像比較簡單
不過這個確定可以用就是了
然後quicksort的recursive call:
int quicksort( int b[], int low, int high ){
int p = partition( b, low, high );
if ( p == low || p == high )
return 0;
quicksort( b, low, p - 1 );
quicksort( b, p + 1, high);
}
可是發現有時候會怪怪的
我也不知道為什麼
-------
int partition( int a[], int low, int high )
{
int hold;
int p = low;
for ( int i = 0; i != -2; i = 0 ){
for ( int r = high; r != -1 && r != -2; r-- ){
if ( a[ p ] > a[ r ] ){
hold = a[ p ];
a[ p ] = a[ r ];
a[ r ] = hold;
p = r;
r = -1;
break;
}
if ( p == r ){
r = -2;
break;
}
}
for ( int l = low; l != -1 && l != -2; l++ ){
if ( a[ p ] < a[ l ] ){
hold = a[ p ];
a[ p ] = a[ l ];
a[ l ] = hold;
p = l;
l = -1;
break;
}
if ( p == l ){
l = -2;
break;
}
}
if ( r == -2 && l == -2 ){
i = -2;
break;
}
}
return p;
}
--
如果社會的反思和科學的猛進
於斯交會
那麼也許 哪一股是感性
邏輯的推移和藝術的旋律 縱彼此反向平行
亦在此纏綿 卻也緊握著
哪一股是理性啊 億萬條氫鍵
--
※ 發信站: 批踢踢實業坊(ptt.csie.ntu.edu.tw)
◆ From: 140.112.239.144
※ 編輯: guyspy 來自: 140.112.239.144 (12/03 23:14)
※ 編輯: guyspy 來自: 140.112.239.144 (12/03 23:31)
※ 編輯: guyspy 來自: 140.112.239.144 (12/03 23:32)