• 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>

  • 相关阅读:
    VS2010中ActiveX控件"未能实例化activex控件 因为这需要设计时授权"解决办法
    CreateThread,_beginthread与AfxbeginThread之间的区别
    C的定时器timeSetEvent使用
    GetCurrentTime(),GetLocalTime(),GetSystemTime()之间的区别
    使用PostThreadMessage在Win32线程间传递消息
    c++配置文件.ini,GetPrivateProfileString( )WritePrivateProfileString( )
    Callback函数详解
    Dispose,using
    mysql 存储过程,表
    函数,视图,存储过程,触发器,sysobjects (系统对象表),事务,异常
  • 原文地址:https://www.cnblogs.com/zxl89/p/5887153.html
Copyright © 2020-2023  润新知