冒泡排序与二分法

var attr=[1,8,6,4,5,3,7,2,9]   //对数组进行排序,冒泡排序 //两个相邻的元素进行比较,满足条件互换//进行比较的轮数是数组的长度-1//控制比较的轮数

for(var i=0;i<attr.length-1;i++)

{//控制每轮比较的次数

for(var j=0;j<attr.length-1-i;j++)

{//如果下一元素>当前元素

if (attr[j]<attr[j+1])

{//互换

zj=attr[j];

attr[j]=attr[j+1];

attr[j+1]=zj;

}

}

}

在数组里面查找数据

var attr=[1,2,3,4,5,6,7,8,9]

//要查找的值

var v=6;

//循环遍历的方式

var sy=-1;

for (var i=0;i<attr.length;i++)

{ if(attr[i]==v)

{ sy=v; }

if(sy=-1)

{alert("没找到数据")}

else

{alert("该数据在数组里找到:"+sy)}

}

//二分法查找数据

//最小索引

var minsy=0;

var maxsy=attr.length-1;

var midsy;

//循环比较

while(true)

{//计算中间索引

midsy=pareinyt((minsy+maxsy)/2);

//比较中间值与用户的值//判断中间索引的值是否等于用户要查的值

if(attr[midsy]==v)

//如果等于就退出循环,找到了数据

{   break;       }

//判断是否只剩下两个数据

if(midsy=minsy)

//判断两个数据中的另一个是否用户查找的值

{ if(attr[midsy+1]==v)

//找了值,就退出循环

{midsy=midsy+1;break;}

else

//没找到,就退出循环

{  midsy=-1;break;}

}

//用来改范围

if(attr[midsy]>v)

{maxsy=midsy;}

else

{minsy=midsy;}

}

时间: 2024-11-02 15:15:12

冒泡排序与二分法的相关文章

js 排序:sort()方法、冒泡排序、二分法排序。

js中的排序,这里介绍三种,sort()方法.冒泡排序.二分法排序. 1.sort方法 写法:  数组.sort(); 返回排好序的数组,如果数组里是数字,则由小到大,如果是字符串,就按照第一个字符的字符编码大小排序. 写法2: 数组.sort(function(a,b){ return a-b }); 表示从大到小,(如果写 retrun b-a 则由大到小排序): 不详细解释了. 2.冒泡排序. 原理是,直接将原理可能不好懂,我们还是按照下面的方法去讲吧,这样容易懂些. //冒泡排序func

C语言:“冒泡排序”与“二分法”

1.冒泡排序: what:将元素进行两两比较,大的(小的)向后排. when:数组中有多个元素,需要进行比较排序比较的时候使用. how:N个数字来排队,两两比较小靠前.(升序) 外层循环:N-1(控制比较的轮数) 内层循环:N-1-i(控制每轮比较的的次数,i代表外层循环变量) for example: int num[5];int i,k,j,temp;for(i=0;i<5;i++){printf("请输入5个元素\n");scanf("%d",&

冒泡排序 与二分法

<script type="text/javascript"> //var attr = [1,8,26,4,15,3,7,42,9]; //对数组元素进行排序//冒泡排序/*8 6 4 5 3 7 2 9 1 88 6 5 4 7 3 9 2 1 7 8 6 5 7 4 9 3 2 1 68 6 7 5 9 4 3 2 1 5 8 7 6 9 5 4 3 2 1 48 7 9 6 5 4 3 2 1 38 9 7 6 5 4 3 2 1 29 8 7 6 5 4 3 2

9.19 数组 冒泡排序和二分法

数组:相同类型数据的集合 强类型语言:1,数组里面只能存放相同数据类型的数据. 2,定义数组时需要定一个长度(可以存放元素的数量) 集合:1,可以存放任意类型的数据, 2,定义时候不需要制定长度 3,内存空间不连续 JS 数组:1,可以存放任何类型的数据. 2,定义时候不需要制定长度 定义一个数组 var  attr = array(1,3.14,”aa”);  数组里面数据排列顺序是0  1  2  3  4… 中间每个数据用逗号分割, Var   attr= attr(5): Var  at

C# 10 总复习

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔.

C#。总结

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体一.数据类型: (一)内建类型 整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char) 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔. (

数据库思考和推测

软件还真不是一条好走的路,具体到细节各部分好让人头大.前端稍微清晰一点以后,想到数据库的使用让人不好理清. 按道理说,数据库就是一种比较容易存储和读取的文件格式,就像txt格式一样,再加上一些加密处理.具体到内部的划分.一个数据库的可伸缩性,还有一个数据库所代表的模块.所表现的内部堆栈处理逻辑.自己没有见到过,于是也不容易设想,大体的倒是知道. 如果可以的话,给每个用户建立一个数据库,这样每次登陆相应的数据库查找东西就可以了,不用那么都都挤在一个表中.挤在一个表中的好处是方便使用,就像不管什么东

C#—总结

数据类型--变量与常量--运算符与表达式--语句(if,for)--数组--函数--结构体 一.数据类型:(一)内建类型整型(int short long byte uint ushort ulong sbyte),浮点(double float decimal),布尔(bool),字符(char). 对于整型和浮点型都有个ToString("格式化字符串"): #——任意一个数字.有的话就显示,没有就不显示. 0——必须有一个数字,没有的话就补零. .——小数点 ,——千位分隔. (

高级iOS开发工程师的面试题

1:CALayer与UIView的区别是什么? 两者最大的区别就是:涂层不会直接渲染到屏幕上: UIView是iOS界面元素的基础,所有界面元素都是继承于它,他的本身全是由CoreAnimation来实现的: 真正的绘图部分,是有CALayer类来管理的: 一个UIView上可以有n个CALayer,每个layer来显示一种东西,增强UIView的展现能力. 2:GCD GCD是苹果公司开发的一个较新的多核编程的解决办法. GCD是一个可以替代诸如NSThread等技术的很高效和强大的技术,完全