文档章节

Quick Sort in Java and Erlang

i
 iamtwang
发布于 2014/08/29 04:17
字数 216
阅读 179
收藏 0

Quick Sort In Java.

public static void quickSort(int[] a, int p, int r) {
        if (p < r) {
            int q = partition(a, p, r);
            quickSort(a, p, q);
            quickSort(a, q + 1, r);
        }
    }

    private static int partition(int[] a, int p, int r) {

        int x = a[p];
        int i = p - 1;
        int j = r + 1;

        while (true) {
            i++;
            while (i < r && a[i] < x)
                i++;
            j--;
            while (j > p && a[j] > x)
                j--;

            if (i < j)
                swap(a, i, j);
            else
                return j;
        }
    }

    private static void swap(int[] a, int i, int j) {
        int temp = a[i];
        a[i] = a[j];
        a[j] = temp;
    }

Quick Sort in Erlang

%% much easier than Java.
q_sort([]) -> [];
q_sort([Pivot|T]) ->
    q_sort([X || X <- T, X < Pivot ])
    ++ [Pivot] ++
    q_sort([X || X <- T, X >= Pivot]).

For me, Erlang is easier to understand.

extended question:

for given number N, find {A,B,C} which A+B+C<N and A*A + B*B = C*C.

pyth_list(N) ->
    [{A,B,C} ||
     A <- lists:seq(1, N),
     B <- lists:seq(1, N),
     C <- lists:seq(1, N),
     A+B+C =< N,
     A*A + B*B =:= C*C
    ].

For me, Java would need much more code.


© 著作权归作者所有

下一篇: Erlang Basic
i
粉丝 0
博文 18
码字总数 7670
作品 0
英国
私信 提问
JBoss Developer Studio 12.0 和 JBoss Tools 4.6.0 发布

Red Hat JBoss Developer Studio 12.0 和 JBoss Tools 4.6.0 for Eclipse Photon 已发布,该版本主要是引入完整的 Java 10 支持,改进基于容器的开发,以及一些 Bug 修复。下载地址: Red Ha...

王练
2018/07/19
1K
1
Erjang —— 让你在 Java 中执行 Erlang 程序

Erjang 是一个运行在 Java 平台上的 Erlang 虚拟机。通过加载 Erlang 的二进制 .beam 文件格式并转换成 Java 的 .class 格式并在 JVM 中运行。其最终将用 Java 实现所有 Erlang 的 BIFs。Erj...

oschina
2014/07/27
184
0
redhat 安装Rabbitmq

先安装JDK 安装erlang环境: 安装依赖文件:yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto; yum install unixODBC-devel 解压erlang文件:tar -zxvf otpsrc19.2.ta......

ts88
2018/04/23
95
0
Sort Map by Value in Java

实际项目或者业务当中,经常会有需求要求对 hashmap 按值排序,并返回指定顺序的 TopN 个元素,今天就来分享下具体的代码及其原理实现。 Refer: [1] Sort map by value http://www.levelup...

大数据之路
2012/10/03
611
0
Recursion and Tail Recursion in Java and Erlang

Typical Recursion Example (hanoi problem) public void move(int n, String strFrom, String strTemp, String strTo) { if (n == 1) { show(1, strFrom, strTo); } else { move(n - 1, str......

iamtwang
2014/08/23
142
1

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
11
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部