2015-04-16 190 views
-7

如何使用R執行氣泡排序以及我將使用哪些R功能和/或軟件包?我已經成功地執行了合併排序,但冒泡排序似乎無法正常工作。R中的氣泡排序

+1

你有什麼這麼遠嗎? – James

+1

歡迎來到SO。你應該爲你的問題添加更多的細節。你的意思是什麼似乎無法正常工作?你有什麼嘗試?它在哪裏失敗? – shadow

回答

3

你可以寫它喜歡你如何同其他各種做到這一點:

bubble_sort = function(array) { 
    count = 0 
    while(1) { 
     count_swaps = 0 
     for (j in 1 : (length(array) - 1 - count)) { 
      if (array[j] > array[j + 1]) { 
       s = array[j] 
       array[j] = array[j+1] 
       array[j+1] = s 
       count_swaps = count_swaps + 1 
      } 
     } 
     count = count + 1 
     if(count_swaps == 0) break 
    } 
    array 
} 

問候。

-2

其泡的功能使用排序R.享受
void bubble(int x[], int n) { int j, pass; int switched = TRUE; for(pass = 0; pass < n - 1 && switched == TRUE; pass++) { switched = FALSE; for(j = 0; j < n - pass - 1; j++) { if(x[j] < x[j+1]) { switched = TRUE; Swap(x[j], x[j+1]); } } } }

+2

這不是'R'代碼。 –