本帖最后由 小马初长成 于 2014-5-1 15:01 编辑
按冒泡排序的算法输出的结果应该是
[1,2,55,151,2,585,151,5155]
可是这个程序执行后的结果是
排序前[1, 2, 55, 585, 151, 2, 5155, 151]
排序后[1, 5155, 2, 55, 151, 2, 585, 151]
哪里出问题了,还是我理解错了?求解
- public class List2{
- public static void bubbleSort(int[] arr){//冒泡排序
- for(int i=0;i<arr.length-1;i++){
- for(int j=0;i<arr.length-1;i++){
- if(arr[i]>arr[j+1]){
- int temp=arr[i];
- arr[i]=arr[j+1];
- arr[j+1]=temp;
- }
-
- }
-
- }
-
- }
- public static void main(String[] args){
- int[] arr={1,2,55,585,151,2,5155,151};
- System.out.print("排序前");
- printArray(arr);
- bubbleSort(arr);
- System.out.print("排序后");
- printArray(arr);
-
- }
-
- public static void printArray(int[] arr){
- System.out.print("[");
- for(int i=0;i<arr.length;i++){
- if(i!=arr.length-1)
- System.out.print(arr[i]+", ");
- else
- System.out.println(arr[i]+"]");
- }
- }
- }
复制代码 |