翻譯一個VB的qsort為bcb,不知道對不對? |
缺席
|
黑輪
中階會員 發表:135 回覆:188 積分:64 註冊:2004-01-29 發送簡訊給我 |
VB的qsort:
Private Sub qsort(ByRef a() As Single, ByRef b() As Single, ByVal m As Integer, ByVal n As Integer) Dim i, j As Integer Dim temp, k As Single If (m < n) Then i = m j = n 1 k = a(m) Do Do 'If i > 2048 Then Stop i = i 1 Loop Until (a(i) >= k) Or (i >= n) Do j = j - 1 Loop Until (a(j) <= k) Or (j <= 1) If (i < j) Then temp = a(i) a(i) = a(j) a(j) = temp temp = b(i) b(i) = b(j) b(j) = temp End If Loop Until (i >= j) temp = a(m) a(m) = a(j) a(j) = temp temp = b(m) b(m) = b(j) b(j) = temp If (m < j - 1) Then Call qsort(a(), b(), m, j - 1) End If If (j 1 < n) Then Call qsort(a(), b(), j 1, n) End If End If End Sub我翻的: void qsort(int a[],int b[], int m,int n) { int i,j,k,temp; if (m < n) { i = m; j = n 1; k = a[m]; do { do { if (i > 2048) i ; }while( (a[i] >= k) || (i >= n) ); do { j-- ; }while( (a[j] <= k) || (j <= 1) ); if (i < j) { temp = a[i]; a[i] = a[j]; a[j] = temp; temp = b[i]; b[i] = b[j]; b[j] = temp; } }while(i >= j); temp = a[m]; a[m] = a[j]; a[j] = temp; temp = b[m]; b[m] = b[j]; b[j] = temp; if (m < j - 1) { qsort(a, b, m, j - 1); } if (j 1 < n) { qsort(a, b, j 1, n) ; } } }我不知道對不對~其實我也不太了解~ 各位會的話~幫我一下~感謝大家哦~ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |