js冒泡排序与二分法查找
冒泡排序
var attr=[1,5,7,6,3,9,2,8,4];
var zj=0;
//控制比较轮数
for(var i=0;i<attr.length-1;i++)
{
//控制每轮的比较次数
for(var l=0;l<attr.length-1-i;l++)
{
// 与下一个比较
if(attr[l]<attr[l+1])
{
//互换
zj=attr[l];
attr[l]=attr[l+1];
attr[l+1]=zj;
}
}
}
alert(attr[0])
二分法查找
//必须先排好序
var attr=[1,2,3,4,5,6,7,8,9];
//要找的值
var v=6;
//取最大索引与最小索引的平均值与查询值比较,排除掉索引大的或索引小的,然后在剩下的索引里面再次判断,直到找到一致的。
var min=0;
var max=attr.length-1;
var zj;
while(true)
{
//计算中间索引
zj=parseInt((min+max)/2);
//比较中间值与传入值
if(attr[zj]==v)
{
break;
}
if(zj==min)
{
if(attr[zj+1]==v)
{
zj=zj+1;
break;
}
else
{
zj-1;
break;
}
}
if(attr[zj]>v)
{
max=zj;
}
{
min=zj;
}
}
alert(zj);
js冒泡排序与二分法查找的更多相关文章
- Java冒泡排序与二分法查找的代码随笔
		package javafirst; import java.util.Arrays; class MaoPao{ //升序排列 /** * @param arr 要排序的数组 * @return i ... 
- js冒泡排序和二分查找
		冒泡排序: var arr=[5,0,-56,900,12,9000,-123,-1000]; var flag=false; for(var i=0;i<arr.length-1;i++){ ... 
- js 排序:sort()方法、冒泡排序、二分法排序。
		js中的排序,这里介绍三种,sort()方法.冒泡排序.二分法排序. 1.sort方法 写法: 数组.sort(); 返回排好序的数组,如果数组里是数字,则由小到大,如果是字符串,就按照第一个字符的 ... 
- 【Python学习笔记】-冒泡排序、插入排序、二分法查找
		原文出处:https://blog.csdn.net/yort2016/article/details/68065728 冒泡排序 主要是拿一个数与列表中所有的数进行比对,若比此数大(或者小),就交换 ... 
- 二分法查找 js 算法
		二分法查找算法:采用二分法查找时,数据需是排好序的.主要思想是:(设查找的数组区间为array[s, e])(1)确定该区间的中间位置m(2)将查找的值T与array[m]比较,若相等,查找成功返回此 ... 
- JavaScript用二分法查找数据等
		//二分法查数据 var arr=[41,43,45,53,44,95,23]; var b=44; var min=0; var max=arr.length; for(var i=1;i<a ... 
- C/JS_二分法查找
		1. 二分法查找 前提: 数据是排好序的. 题设:给出一个有序arr,从中找出key,arr的区间是array[ low , higt]. 步骤: (1)mid=(low+high)/2 (2)arr ... 
- php排序算法及二分法查找
		插入排序 思想:将一个记录插入到已排序好的有序表中,从而得到一个新,记录数增1的有序表.即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止. 要点:设立 ... 
- iOS 排序算法总结、二分法查找
		1.插入排序 在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的.如此反复循环,直到全部排好顺序. 直接插 ... 
随机推荐
- java使用split分隔,需要注意的点
			String severName = "10.6.62.244"; System.out.println(severName.split(".").length ... 
- AMD正式公布第七代桌面级APU AM4新接口
			导读 本月5日,AMD正式公布了入门级的第七代桌面级APU为Bristol Ridge,在性能和能效方面较上一代产品拥有显著提升.AMD同时确认Zen处理器和新APU(Bristol Ridge)都将 ... 
- [codevs1022]覆盖
			[codevs1022]覆盖 试题描述 有一个N×M的单位方格中,其中有些方格是水塘,其他方格是陆地.如果要用1×2的矩阵区覆盖(覆盖过程不容许有任何部分重叠)这个陆地,那么最多可以覆盖多少陆地面积. ... 
- Oracle 多表查询优化
			ORACLE有个高速缓冲的概念,这个高速缓冲就是存放执行过的SQL语句,那oracle在执行sql语句的时候要做很多工作,例如解析sql语句,估算索引利用率,绑定变量,读取数据块等等这些操作.假设高速 ... 
- Ubuntu 虚拟机空间不足增加空间笔记
			一开始给虚拟机加空间以为只是需要在虚拟机设置里面添加就行,后面发现还得重新在虚拟机内部增加. 链接: http://pan.baidu.com/s/1c2uVcCo 密码: xid8 这只是第一步,共 ... 
- mysql 将指定列的浮点数转化为整数
			mysql 将指定列的浮点数转化为整数: update A set B = cast(B as decimal(10,0)) -- 或者 update A set B = round(B,0) 例 ... 
- COGS 902 乐曲主题 题解 & hash入门贺
			[题意] 给定一个长为n的序列,元素都是不超过88的正整数,求序列中主题的最大长度. 所谓主题是指在序列中出现了至少两次并且不相交的子串.特别的,主题可以变调,也就是说如果一个子串全部加上或减去一个数 ... 
- 1. dex和Jar反编译对比
			Java源码 public class Hello { public int foo(int a,int b) { return (a + b) * (a - b); } public static ... 
- Linux Vsftpd 连接超时解决方法
			Linux Vsftpd 连接超时解决方法 2013-11-13 10:58:34| 分类: 默认分类|举报|字号 订阅 解决方法(http://www.lingdus.com/thread ... 
- vs2013 内置IIS Express相关问题
			问题描述,以前做的程序迁移到vs2013后出现500.22问题. HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设 ... 
