黑马程序员技术交流社区

标题: 三种排序方法 [打印本页]

作者: 2297618472    时间: 2015-7-6 21:52
标题: 三种排序方法
package cn.itcast.arrays;
/*
* 数组的排序
*   升序排列  1-9   a-z
*   
* 写排序,数组中的元素比较,换位置
* 选择排序:
*   数组中的每个元素,都和其他元素进行比较
* 冒泡排序:
*   数组的元素相邻的比较
*   
* 选择排序,冒泡排序,实际运行效率是很低的
* 插入排序,折半排序,快速排序,希尔排序
*/
public class ArraySortDemo {
        public static void main(String[] args) {
                int[] arr = {2,1,4,7,5};
                //selectSort(arr);
                bubbleSort(arr);
                printArray(arr);
               
        }
        /*
         * 定义方法,实现数组的冒泡排序
         */
        public static void bubbleSort(int[] arr){
                for(int x = 0 ; x < arr.length ; x++){
                        for(int y = 0 ; y < arr.length - x - 1; y++){
                                if(arr[y] > arr[y+1]){
                                        int temp = arr[y];
                                        arr[y] = arr[y+1];
                                        arr[y+1] = temp;
                                }
                        }
                }
        }
       
       
        /*
         * 定义方法,实现数组的选择排序
         * 代码熟练度
         */
        public static void selectSort(int[] arr){
                for(int x = 0 ; x<arr.length ;x++){
                        for(int y = x + 1 ; y < arr.length ; y++){
                                if(arr[x] > arr[y]){
                                        int temp = arr[x];
                                        arr[x] = arr[y];
                                        arr[y] = temp;
                                }
                        }
                }
        }
       
       
        /*
         * 定义方法,遍历数组
         */
        public static void printArray(int[] arr){
            System.out.print("[");
                for(int x = 0 ; x < arr.length ;x++){
                   if(x!=arr.length-1)
                           System.out.print(arr[x]+",");
                   else
                           System.out.print(arr[x]);
                }
                System.out.println("]");
        }
}









欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2