第一个快速排序算法(从小到大排序,java实现)

//java类
QuickSort 
public class QuickSort {
    //main方法(增加main方法是为了验证结果),main方法是java程序的入口方法,jvm在运行时首先查找main方法
    public static void main(String[] args) {
        //实例化类new一个对象
        QuickSort str = new QuickSort();
        //qwrplkjhgffdsazcbnm
        String s="qwrplkjhgffdsazcbnm";
        //使用java封装好的方法把string转换成char数组
        char[] cs1 = s.toCharArray();
        //求字符数组的长度
        int sl = cs1.length-1;
          //使用new的str对象调用QuickSort类的排序方法并输出
        System.out.println(str.SortString(cs1,0,sl));
    }
    //字符串排序方法
    public String SortString(char [] cs,int low,int high){
              //定义数组地位和高位角标变量
                int l=low;
                int h=high;
                //将低位数组值赋给povit变量
                char povit=cs[low];
         //以下while实现一次排序,第一次后前面是比cs[low]小的字符,后面都是比cs[low]大的字符
             while(l//从后往前查找如果高位数组值大于povit 则高位角标数减一
              while(l=povit)
                         h--;
              //如果高位数组值小于povit&脚标l小于h则将l和h的数组值交换
                  if(lchar temp=cs[h];
                    cs[h]=cs[l];
                     cs[l]=temp;
                     l++;
                    }
                    //高位比较交换一次后,从前往后查询,如果低位数组值小于povit则l加一
              while(l//如果低位数组值大于povit&脚本l                  if(lchar temp=cs[h];
                 cs[h]=cs[l];
                  cs[l]=temp;
                   h--;
                    }
                  }

           //打印第一次排序交换的内容
             System.out.print("l="+(l+1)+"h="+(h+1)+"povit="+povit+"\n");
        //低位分组递归实现快速比较
        if(l>low)SortString(cs,low,l-1);
             //高位分组递归实现快速排序
        if(h1,high);
            //转换数据类型
            String ss = "";
            //将数组中的char字符拼接成字符串
            for (char c : cs) {
//            System.out.println(c);
                ss += c;
            }

            //返回字符串结果
            return ss;

    }


}

你可能感兴趣的:(java)