脚本宝典收集整理的这篇文章主要介绍了查找排序之多语言编程(JS/PHP/JAVA),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
三种方式写了下常见的查找和排序,思想的本质是一致的,语言的运用有所不同罢了@H_512_3@
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<a[index]){ end = index-1; }else{ return index; } } return -1; }
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 @H_360_145@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; i<cnt; i++) { for (int j=0;j<cnt-1-i; j++) { if(arr[j]>arr[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; } }
以上是脚本宝典为你收集整理的查找排序之多语言编程(JS/PHP/JAVA)全部内容,希望文章能够帮你解决查找排序之多语言编程(JS/PHP/JAVA)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。