关于数组的排序,数组的排序有很多种方法,常见的有选择排序和冒泡排序。

 

A.选择排序

思路:

第一次比较:首先将下标为0的元素与其他元素进行逐一比较.比较结果得出较小的那个存储到下标为0的元素内.经过第一次的筛选比较,能够得出元素中最小值并赋值到下标为0的元素当中。

第二次比较:同样将下标为1的元素和其后面的元素进行逐一比较,这一轮又筛选出剩余元素中的最小值,并交换赋值存储到下标为1的元素中

以此类推,进行了(元素个数-1)次比较筛选之后,就可以得出最后的有序数组.

步骤:

创建一个方法,创建一个数组变量。因为考虑到元素之间的比较是多次的,利用for

  

循环控制比较的次数。外面一层控制着要进行多少轮的比较,里面一层控制每一个元素后面还有多少个元素需要比较。

 

代码实现

Class Demo{


public static void main(String[] args){

            int [] arr = {1,7,6,9,11,5};

             sort(arr);

              System.out.print("arr="+arr);
          
}



public static void sort(int[] arr){


     for(int x = 0;x<arr.length;x++){

             for(int y=x+1;y<arr.length-1;y++){

                    if (arr[x]>arr[y]){
                          
                         int temp = arr[x];
                         arr[x] = arr[y];
                         arr[y] = temp;
                   }
                   
                 
                 }

             }
}
}    

  

B .冒泡排序

 

思路:相邻的两个元素进行比较,如果符合条件就进行换位。

 

public static void bubbleSort(int[] arr){

 

       for(int x= 0;x<arr.length-1;x++){

          for(int y = 0;y<arr.length-1;y++){



                       if(arr[y]>arr[y+1]){

                      int  temp = arr[y];

                      arr[y] = arr[y+1];

                      arr[y+1] = temp;



                }   



}

      }

}

 

  

 

选择排序性能比较低,希尔排序是效率最高的(三层循环加位运算).

 

 

 

 

posted on 2014-05-21 14:17  ladyfox  阅读(124)  评论(0)    收藏  举报