zoukankan      html  css  js  c++  java
  • 数组的四种排序(冒泡排序,选择排序,插入排序,快速排序)

    package com.yc.day0807;
    
    import java.util.Arrays;
    
    /**
     * @program: javaSE
     * 描述:
     * 冒泡排序 从小到大
     * @author: yc
     * @create: 2020-08-07 14:09
     **/
    public class Demo {
        public static void main(String[] args) {
            int[] arr = {1,35,73,12,56,89,3};
            System.out.println("冒泡排序:"+ Arrays.toString(Mp(arr)));
            System.out.println("选择排序:"+ Arrays.toString(Xz(arr)));
            System.out.println("插入排序:"+ Arrays.toString(Cl(arr)));
            System.out.println("快速排序:"+Arrays.toString(Ks(arr,0,arr.length-1)));
        }
        public static int[] Mp(int[] arr){ //冒泡
            int tmp = 0;
            for(int i=0;i<arr.length-1;i++){
                for(int j=0;j<arr.length-i-1;j++){
                    if(arr[j]>arr[j+1]){
                        tmp = arr[j];
                        arr[j] = arr[j+1];
                        arr[j+1] = tmp;
                    }
                }
            }
            return arr;
        }
        public static int[] Xz(int[] arr){ //选择
            int tmp = 0;
            for(int i=0;i<arr.length-1;i++){
                for(int j=i+1;j<arr.length;j++){
                    if(arr[i]>arr[j]){
                        tmp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = tmp;
                    }
                }
            }
            return arr;
        }
        public static int[] Cl(int[] arr){ //插入
            int j=0;
            for(int i=1;i<arr.length;i++){
                int tmp = arr[i];
                for(j=i-1;j>=0;j--){
                    if(tmp<arr[j]){
                        arr[j+1] = arr[j];
                        arr[j] = tmp;
                    }
                }
            }
            return arr;
        }
        public static int[] Ks(int[] arr,int l,int r){//快速
            if(l<r){
                int k = arr[l]; //基准值
                int i = l;
                int j = r;
                while(i<j){
                    while(i<j && arr[j]>k){
                        j--;
                    }
                    if(i<j){
                        arr[i] = arr[j];
                        i++;
                    }
                    while(l<r && arr[l]<k){
                        l++;
                    }
                    if(i<j){
                        arr[j] = arr[i];
                        j--;
                    }
                }
                arr[i] = k;
                Ks(arr,l,i-1);
                Ks(arr,i+1,r);
            }
            return arr;
        }
    }
  • 相关阅读:
    Spring Cloud
    如何修改容器时间而不改变宿主机时间?
    消息中间件 RabbitMQ 入门篇
    CentOS7下NFS服务安装及配置固定端口
    查看ssh有没有被黑的IP
    JVM常用命令和性能调优建议
    nfs高可用
    kafka集群部署以及单机部署
    OSGI企业应用开发(十三)OSGI Web应用开发(二)
    OSGI企业应用开发(十二)OSGI Web应用开发(一)
  • 原文地址:https://www.cnblogs.com/yclss123/p/13457707.html
Copyright © 2011-2022 走看看