<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<script type="text/javascript">
//数组的基本用法
//javascript的元素的类型可以随意放
var arr1=[2,4,6,8,10];
var sum=0;
for(var i=0;i<arr1.length;i++){
sum+=arr1[i];
}
document.write("sum="+sum+";avg="+sum/arr1.length);
//js数组的动态增长
var a=[2,3];
a[2]="hello";
document.write("<br/>"+a[2]);
//数组常用的属性和函数
var str="hello world";
var arr=str.split(" ");
document.write("<br/>"+arr+"<br/>"+arr.length);
//数组小结
/*
①数组可存放任意类型的数据
②数组大小不必事先指定,可以动态增长
③数组名可以理解为指向数组首地址的引用.
④数组元素默认从0开始编号的.
*/
//二维数组的用法
var ew1=[[1,4,9],[4,‘hello‘]];
for(var i=0;i<ew1.length;i++){
var ele=ew1[i];
for(var j=0;j<ele.length;j++){
document.write("<br/>"+ele[i]);
}
}
document.write("<br/>js的冒泡排序法<br/>");
var so=[2,9,3,8,4,7,5,-4];
var tem=0;
for(var i=0;i<so.length;i++){
for(var j=0;j<so.length;j++){
if(so[i]>so[j]){
tem=so[i];
so[i]=so[j];
so[j]=tem;
}
}
}
document.write(so);
document.write("<br/>js的顺序查找<br/>");
var fin=[2,-3,4,-5,100];
var findval=4;
var flag=false;
for(var i=0;i<fin.length;i++){
if(findval==fin[i]){
document.write("找到这个数了下标是:"+i);
flag=true;
}
}
if(!flag){
document.write("查询无果");
}
document.write("<br/>js的二分查找<br/>");
/*
核心思想:
1.二分查找要保证我们的数组是一个有序的.
2.首先把数组的中间这个数找出,然后和你要查询的数比较
① 你要查询的数比中间的数大. 则说明我们应当该数组的右边查询
② 你要查询的数比中间的数小 .则说明我们应当该数组的左边查询
③ 你要查询的数等于中间的数, 说明找到
*/
var ef=[2,4,6,8,9,15];
function searc(findVal,ef,leftindex,rightindex){
//退出的条件
if(leftindex>rightindex){
document.write("查询无果");
return ;
}
var middleindex=Math.round((leftindex+rightindex)/2);
if(ef[middleindex]<findVal){
searc(findVal,ef,middleindex+1,rightindex);
}else if(ef[middleindex]>findVal){
searc(findVal,ef,leftindex,middleindex-1);
}else{
document.write("找到了,下标是"+middleindex);
}
}
searc(4,ef,0,ef.length-1);
</script>
<body>
</body>
</html>
如有错误和建议欢迎提出,一起学习交朋友。
QQ:1327880701
版权声明:博主原创文章,转载请说明出处。http://blog.csdn.net/dzy21