资讯专栏INFORMATION COLUMN

查找排序之多语言编程(JS/PHP/JAVA)

Alex / 1716人阅读

摘要:三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了尴尬。

三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了
PS:尴尬。真的有必要随时切换语言来编程,否则还想个半天.就跟前后台的模板引擎一样,花样太多.

JS 二分查找
/**
* @param v Number 要查找的值
* @param a Array  数组(有序的:升序,譬如[2,3,4])
* @param return   所在下标;-1,则不存在
**/
function erFen(v,a){
    var start = 0,
          end = a.length-1;
    while(start<=end){
        var index = Math.floor((start+end)/2);
        if(v>a[index]){
            start = index+1;
        }else if(v
PHP 选择排序
    /**
     * @param  [type]  $arr 数组
     * @return [type]       
     */
    function select($arr){
        $cnt = count($arr);
        for ($i=0; $i < $cnt; $i++) { 
            for ($j=$i+1; $j < $cnt; $j++) { 
                // 从小到大排序
                if($arr[$i]>$arr[$j]){
                    $arr = exchange($i,$j,$arr);
                }
            }
        }
        return $arr;
    }

    /**
     * 数组内元素交换
     * @param  [type] $arr [数组]
     * @param  [type] $i    [待交换的元素下标]
     * @param  [type] $j    [待交换的元素下标]
     */
    function exchange($i,$j,$arr){
        $arr[$i] = $arr[$i]^$arr[$j];
        $arr[$j] = $arr[$i]^$arr[$j];
        $arr[$i] = $arr[$i]^$arr[$j];
        return $arr;
    }
JAVA 冒泡排序
    import java.util.Arrays;

    public class Tools {
        public static void main(String []args) {
            int[] arr = {1,6,-2};
            System.out.print(Arrays.toString(bubble(arr)));
        }
        
        public static int[] bubble(int[] arr){
            int cnt = arr.length;
            for (int i = 0; iarr[j+1]){
                        exchange(j,j+1,arr);
                    }
                }
            }
            return arr;
        }
        
        /**
         * 数组内元素交换
         * @param  [type] arr [数组]
         * @param  [type] a    [待交换的元素下标]
         * @param  [type] b    [待交换的元素下标]
         */
        public static void exchange(int a,int b,int[] arr){
            int temp = arr[a];
            arr[a] = arr[b];
            arr[b] = temp;
        }
     }
     

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/25837.html

相关文章

  • 查找排序之多语言编程(JS/PHP/JAVA)

    摘要:三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了尴尬。 三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了PS:尴尬。真的有必要随时切换语言来编程,否则还想个半天.就跟前后台的模板引擎一样,花样太多. JS 二分查找 /** * @param v Number 要查找的值 * @param a Array 数组(有序的:升序,譬如[2...

    econi 评论0 收藏0
  • 查找排序之多语言编程(JS/PHP/JAVA)

    摘要:三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了尴尬。 三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了PS:尴尬。真的有必要随时切换语言来编程,否则还想个半天.就跟前后台的模板引擎一样,花样太多. JS 二分查找 /** * @param v Number 要查找的值 * @param a Array 数组(有序的:升序,譬如[2...

    canger 评论0 收藏0
  • Mongodb使用

    摘要:表达式是无状态的,只能用于计算当前聚合管道的文档,不能处理其它的文档。可以用来重命名增加或删除域,也可以用于创建计算结果以及嵌套文档用于过滤数据,只输出符合条件的文档。 1.下载安装 1.1.首先去官网下载mongodb对应版本安装https://www.mongodb.com/download-center      解压到目录 例如:c:/mongo      创建文件夹用于m...

    luxixing 评论0 收藏0
  • Java编程思想之多线程(一)

    摘要:多线程技术是个很庞大的课题,编程思想这本书英文版,以下简称中也用了页介绍的多线程体系。一个线程归属于唯一的进程,线程无法脱离进程而存在。五线程内数据线程的私有数据仅归属于一个线程,不在线程之间共享,例如,,。 多线程技术是个很庞大的课题,《Java编程思想》这本书(英文版,以下简称TIJ)中也用了136页介绍Java的多线程体系。的确,Java语言发展到今天,多线程机制相比其他的语言从...

    taohonghui 评论0 收藏0
  • PHPSocket编程之多进程的回声服务器

    摘要:所以这次采用多进程的方式来实现同时为多个客户端提供服务。而多进程则是通过创建多个进程来共同完成一件事。如果是子进程的执行环境,则返回。正常情况下,子进程是通过父进程创建的。以上则是我们的多进程回声服务程序。 上次的回声服务程序有个很大的缺点,就是只能同时连接一个客户端,这明显是不合理的。 所以这次采用多进程的方式来实现同时为多个客户端提供服务。 以下是最终的效果:showImg(htt...

    shengguo 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<