• Java 简单算法--排序


    1. 冒泡排序

    package cn.magicdu.algorithm;
    
    public class BubbleSort {
        public static void main(String[] args) {
            int[] arr = { 5, 7, 8, 4, 3, 9, 7, 6 };
            bubbleSort(arr);
        }
    
        /**
         * 冒泡排序
         * @param arr
         */
        private static void bubbleSort(int[] arr) {
            int temp=0;
            for(int i=0;i<arr.length;i++){
                for(int j=0;j<arr.length-i-1;j++){
                    if(arr[j]>arr[j+1]){
                        temp=arr[j];
                        arr[j]=arr[j+1];
                        arr[j+1]=temp;
                    }
                }
            }
            bubblePrint(arr);
        }
        /**
         * 打印数组
         * @param arr
         */
    
        private static void bubblePrint(int[] arr) {
            for(int i=0;i<arr.length;i++){
                System.out.println(arr[i]);
            }
            
        }
    }

    2.插入排序

    package cn.magicdu.algorithm;
    
    public class InsertSort {
        public static void main(String[] args) {
          int []arr={3,4,2,3,57,8,34,15};
          insertSort(arr);
        }
    
        /**
         * 插入排序
         * @param arr
         */
        private static void insertSort(int[] arr) {
            for(int i=0;i<arr.length;i++){
                int temp=arr[i];
                int j;
                for(j=i;j>0;j--){
                    if(arr[j-1]>temp){
                        arr[j]=arr[j-1];
                    }else{
                        break;
                    }
                }
                arr[j]=temp;
            }
            insertPrint(arr);
        }
    
        /**
         * 打印数组
         * @param arr
         */
        private static void insertPrint(int[] arr) {
            for(int i=0;i<arr.length;i++){
                System.out.println(arr[i]);
            }
            
        }
        
    }

    3.快速排序

    package cn.magicdu.algorithm;
    
    public class QuickSort {
        public static void main(String[] args) {
            int[] arr = { 1, 4, 6, 2, 3, 4, 7, 8, 9, 5, 65 };
            print(arr);
            quickSort(arr, 0, arr.length - 1);
            print(arr);
        }
    
        
        /**
         * 快速排序
         * @param arr
         * @param low
         * @param high
         */
        private static void quickSort(int[] arr, int low, int high) {
            
            if(low>=high){
                return;
            }
            if((high-low)==1){
                if(arr[0]>arr[1])
                    swap(arr,0,1);
                return;
            }
            int pivot=arr[low];
            int left=low+1;
            int right=high;
            while(left<right){
                while(left<right&&left<=high){
                    if(arr[left]>pivot)
                        break;
                    left++;
                }
                while(left<=right&&right>low){
                    if(arr[right]<=pivot)
                        break;
                    right--;
                }
                if(left<right){
                    swap(arr, right, left);
                }
            }
            swap(arr, low, right);
            quickSort(arr, low, right);
            quickSort(arr, right+1, high);
        }
    
    
        /**
         * 交换数字
         * @param arr
         * @param i
         * @param j
         */
        private static void swap(int[] arr, int i, int j) {
            
            int temp;
            temp=arr[i];
            arr[i]=arr[j];
            arr[j]=temp;
        }
    
        /**
         * 打印数组
         * @param arr
         */
        private static void print(int [] arr){
            for(int i=0;i<arr.length;i++){
                System.out.print(arr[i]+",");
            }
            System.out.println();
        }
    }
  • 相关阅读:
    脚本——猜拳
    脚本——基础命令
    脚本——1-100奇数的和
    脚本——判断文件类型
    脚本——判断分数是否合格
    脚本——判断服务是否开启
    脚本——ping一个网址三次
    脚本——判断是否root用户
    脚本——查看目录是否存在
    第十八天:CSV、JSON、Excel、SQLite
  • 原文地址:https://www.cnblogs.com/xiaoduc-org/p/5971085.html
Copyright © 2020-2023  润新知