zoukankan      html  css  js  c++  java
  • 关于排序的实现

    冒泡排序:就是整个过程就像气泡一样往上升,单向冒泡排序的思想就是(假设有小到大的排序):对于指定的n个记录,从第一个记录开始依次对相邻的两个记录进行比较,当前面的记录大于后面的记录时,交换位置,进行一轮比较和换位后,n个记录中的最大值将位于第n位,然后对前(n-1)个记录进行第二轮比较;重复该过程直到进行比较记录只剩下一个为止。

    例:以数组{36,25,48,12,25,65,43,57}为例,冒泡排序程序如下:

    package com.company;
    
    /**
     * Created by Administrator on 2019/1/20.
     */
    public class Mpsort {
        public static void main(String[] args) {
    
    //        冒泡排序
            int[] arr={36,25,48,12,25,65,43,57};
    
            System.out.println("冒泡排序前的顺序:");
    
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+"  ");
            }
            System.out.println();
    
    //        排序
            sort(arr);
    
            System.out.println("冒泡排序后的顺序:");
    
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+"  ");
            }
            System.out.println();
        }
        public static void sort(int[] arr){
            for(int i=0;i<arr.length-1;i++){
                for(int j=0;j<arr.length-1-i;j++){
                    if(arr[j]>arr[j+1]){
                        int temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
                }
            }
        }
    }

    选择排序:就是从未排序中选择最小的元素放入到已排序元素的最后面,程序代码如下:

    package com.company;
    
    /**
     * Created by Administrator on 2019/1/20.
     */
    public class Xzsort {
        public static void main(String[] args) {
    
    //        选择排序
            int[] arr={36,25,48,12,25,65,43,57};
    
            System.out.println("排序前的数组:");
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+"  ");
            }
            System.out.println();
    
            quickSort(arr);
    
            System.out.println("排序后的数组:");
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+"  ");
            }
        }
    
        public static void quickSort(int[] arr){
            for(int i=0;i<arr.length-1;i++){
                for(int j=i+1;j<arr.length;j++){
                    if(arr[i]>arr[j]){
                        int temp=arr[i];
                        arr[i]=arr[j];
                        arr[j]=temp;
                    }
                }
            }
        }
    
    }
  • 相关阅读:
    spring boot的actuator
    mongo的用户角色配置
    spring boot使用AOP统一处理web请求
    (原)luarocks install 提示 failed fetching manifest
    (原)ubuntu中安装kate
    (原+转)Ubuntu16.04软件中心闪退及wifi消失
    (原)torch使用caffe时,提示CUDNN_STATUS_EXECUTION_FAILED
    (原)torch中微调某层参数
    (原)torch的apply函数
    (原)torch的训练过程
  • 原文地址:https://www.cnblogs.com/lichangyun/p/8682712.html
Copyright © 2011-2022 走看看