static int[] sort(int[] arr){ int r = arr.length -1; for(int i=0; i<r; i++){ if(arr[i] > 0){ for(int j=r; j>i; j--){ if(arr[j] < 0){ int tmp = arr[j]; arr[j] = arr[i]; arr[i] = tmp; r = j-1; break; } } } } return arr; }
容易出错的地方:
1. 内部的for循环忘记break
2. 外层for循环边界可以是 r