一维数组
数组可存放任意类型的数据
数组大小不必事先指定,可以动态增长
数组名可以理解为指向数组首地址的引用
数组元素从0开始编号
数组排序优化,可以加一个标志:
var arr=[1,4,6,8,9,90,800];
var flag=false;
for(var i=0;i<arr.length-1;i++)
{
document.write(“大循环。。。
”);
for(var j=0;j<arr.length-1-i;j++)
{
if(arr[j]>arr[j+1])
{
var temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
flag=true;
}
}
if(flag)
{
flag=false;
}
else
{
break;
}
}
for(var i=0;i<arr.length;i++)
{
document.write(arr[i]+" ");
}
数组查找:
二分查找法:
var arr=[1,4,6,8,9,90,800];
function binarySearch(arr,findVal,leftIndex,rightIndex)
{
midIndex=Math.floor((leftIndex+rightIndex)/2);
midVal=arr[midIndex];
if(leftIndex>rightIndex)
{
document.write(“找不到”);
return;
}
if(midVal>findVal)
{
binarySearch(arr,findVal,leftIndex,midIndex-1);
}
else if(midVal<findVal)
{
binarySearch(arr,findVal,midIndex+1,rightIndex);
}
else
{
document.write(“找到了”+midIndex);
return;
}
}
binarySearch(arr,4,0,arr.length-1);