• 数组的四种排序(冒泡排序,选择排序,插入排序,快速排序)


    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;
        }
    }
  • 相关阅读:
    从一个小程序跳到另一个小程序的写法
    小程序input组件失焦的使用
    小程序弹框wx.showModal的使用
    小程序在选择某一个东西的时候,可以用if,else 来做
    reverse啥时候可以用
    js中array.some()的用法
    element ui的table的头部自定义
    逻辑表达式
    cookie
    命名
  • 原文地址:https://www.cnblogs.com/yclss123/p/13457707.html
Copyright © 2020-2023  润新知