博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序算法
阅读量:4656 次
发布时间:2019-06-09

本文共 1823 字,大约阅读时间需要 6 分钟。

利用挖坑填数+分治实现的快排

代码如下:

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Formatter;import java.util.HashMap;import java.util.Map;public class TestJava {    public static void main(String[] args) {        String string = readFromConsole();        System.out.println("input:" + string);        char chs[] = string.toCharArray();        qSort(chs, 0, chs.length - 1);        System.out.println("after sorted:" + new String(chs));    }    private static void qSort(char[] chs, int start, int end) {        if (start >= end) {            return;        }        char fuck = chs[start]; // 先从数列中取出一个数作为基准数。        int left = start;        int right = end;        while (left < right) {            // 跳过比基数大于等于的            while (left < right && chs[right] >= fuck) {                right--;            }            // 比基数小的换到左边            if (left != right) {                chs[left] = chs[right]; // 用这次的值填上次的坑。                left++;            }            while (left < right && chs[left] < fuck) {                left++;            }            // 比基数大的换到右边            if (left != right) {                chs[right] = chs[left];                right--;            }        }        chs[left] = fuck; // 把基数放到中间        qSort(chs, start, left);        qSort(chs, left + 1, end);    }    /**     * 从终端输入一行字符串     *      * @return     */    private static String readFromConsole() {        String inStr = null;        BufferedReader reader = new BufferedReader(new InputStreamReader(                System.in));        try {            inStr = reader.readLine();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        return inStr;    }}

 

 

转载于:https://www.cnblogs.com/wliangde/p/3698676.html

你可能感兴趣的文章
推荐一款帮助负载均衡/DNS轮询服务器组使用的文件同步工具
查看>>
常用的CSS命名规则
查看>>
约数个数定理&约数和定理
查看>>
Oracle EBS数据定义移植工具:FNDLOAD
查看>>
判素数
查看>>
extjs4.1:两个combobox的联动
查看>>
百度地图瓦片工具:定义坐标
查看>>
jmeter控制器--交替控制器
查看>>
hdu 5365 Run
查看>>
jap _spring _maven
查看>>
IIS principle
查看>>
Oracle 如何对中文字段进行排序
查看>>
第七章 数组实验
查看>>
003_ElasticSearch详解与优化设计
查看>>
windows hosts
查看>>
PHP 初学之登录查询小case
查看>>
Spring 4 官方文档学习(十五)CORS支持
查看>>
react学习笔记1
查看>>
Dao层设计
查看>>
css各种姿势的水平居中
查看>>