zoukankan      html  css  js  c++  java
  • java 算法基础之五快速排序法

    快速排序法与一般的冒泡排序法差不多,区别可能就是冒泡会不断的交换,而快速排序法先找到最小的那个值,然后把这个最小值放在数组的最前面,游标往下走,

    举个例子:

    原数组:4,5,1,7,6

    第一趟:1,5,4,7,6

    第二趟:1,4,5,7,6

    第三趟:1,4,5,6,7

    这个原理比较简单。

    代码由下:

    class Select
    {
        public void select_sort(int[] arrays){
            int min=0;
            int begin=0;
            for(int i=0;i<arrays.length;i++){
                for(int j=i;j<arrays.length;j++){
                    if(arrays[j]<arrays[min]){
                        min=j;
                    }
                }    
        //    System.out.println(min);
            snp(arrays);
            //找到最小的就交换
            if(min>i){
                arrays[begin]=arrays[begin]+arrays[min];    
                arrays[min]=arrays[begin]-arrays[min];
                arrays[begin]=arrays[begin]-arrays[min];
            }
            begin++;
            min=begin;
                
            }
            snp(arrays);
        }
        public void snp(int[] arrays){
            for(int i=0;i<arrays.length;i++){
                System.out.print(arrays[i]+" ");
            }
            System.out.println();
    
        }
    
        public static void main(String[] args) 
        {
            Select s=new Select();
            int[] a={4,5,1,7,6};
            s.select_sort(a);
        }
    }
  • 相关阅读:
    php -- php数组相关函数
    php -- 数组排序
    php -- in_array函数
    php -- 魔术方法 之 删除属性:__unset()
    无符号整型与有符号整型相运算规则
    N个节点的二叉树有多少种形态
    getopt_long
    typedef
    约瑟夫环问题算法(M)
    C语言基础
  • 原文地址:https://www.cnblogs.com/hexiaochun/p/2671217.html
Copyright © 2011-2022 走看看