0911数组

一.在强类型语言里:①数组里面只能存放相同数据类型的数据。②定义数组的时候需要指定一个长度(可以存放的元素数量)③内存空间连续。

  集合的特点:①可以存放任意类型的数据。②定义的时候不需要指定长度。③内存空间不连续。

 

二.在js里面的数组:①可以存放任意类型的数据。②定义的时候不需要指定长度。

  js里面没有集合。它的定义方式有三种:①Var attr=Array(1,5.2,"aa");②Array(5)//定义一个长度为5的数组。③Var attr=[1,1.34,"aa"]

 

三.数组的遍历:

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

{

alert(attr[i]);

}

②for(Var a in attr//a是从数组attr里取到的牵引。

  alert(arrt[a]);

四.添加去重

Var sj=10; var cf=true; Var attr=[2,5,10,16,27]

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

  {

    if(sj==attr[i]){

            cf=false;

            break;

          }

   }if(cf){

        attr.push(sj);

       }else{

            alert("有重复值");

          }

五.冒泡排序

①两个相邻的元素进行比较,满足条件元素互换。

②进行比较的轮数是数组的长度减去一.(attr.length-1)

//定义 一个交换使用的中间变量

Var zj=0;

for(Var i=0;i<attr.length-1;i++)//这是控制比较的轮数

{

  for(Var j=0;j<attr.length-1-i;i++)//这是控制每轮比较的次数

      {

        if(attr[j]<attr[j+1]){  //进行互换

                    zj=attr[j];

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

                    attr[j+1]=zj;

                   }

      }

}

六.在数组里面查找数据

Var sy=_1;

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

                if(attr[i]==v){//v是用户输入的数据

                        sy=i;

                         }

                }if(sy==-1){

                        alert("没有找到数据");

                    }else{

                        alert("改数据在数组里面的牵引为:"+sy);  

                          }

七.//二分法查找数据

//最小索引
var minsy = 0;
var maxsy = attr.length-1;
var midsy ;

//循环比较
while(true)
{
    //计算中间索引
    midsy = parseInt((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;
    }
}



alert(midsy);

</script>

posted on 2016-09-19 23:27  向前看!明天会更好!  阅读(163)  评论(0编辑  收藏  举报