zoukankan      html  css  js  c++  java
  • 数组

    数组:相同类型数据的集合

    强类型语言:
      1.数组里面只能存放相同数据类型的数据
      2.定义数组的时候需要制定一个长度(可以存放的元素数量)
      3.内存空间连续
    集合:
      1.可以存放任意类型的数据
      2.定义的时候不需要制定长度
      3.内存空间是不连续的

    JS(弱类型语言;没集合概念):

    数组:
      1.可以存放任意类型数据
      2.定义的时候不需要指定长度

    定义

      给数据:var attr = Array(1,3.14,"aa");

      给长度:var attr = Array(5);  attr[a]="aa";

      使用方括号定义:var attr=[1,3.14,"aa"];

    属性

      数组长度:length

    方法 

      追加元素:push

    遍历

      for循环

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

      forteach形式

        for(var a in attr)   alert(attr[a]);

    例子

    10个成绩,求总分,求最高分,求最低分

        var attr = [89,80,76,49,90,25,85,76,59,40];
        var sum = 0;
        for(var i=0;i<attr.length;i++)
        {
          sum += attr[i];
        }


        var zg = 0;
        for(var i=0;i<attr.length;i++)
        {
          if(attr[i]>zg)
          {
            zg = attr[i];
          }
        }


        var zd = zg;
        for(var i=0;i<attr.length;i++)
        {
          if(attr[i]<zd)
          {
            zd = attr[i];
          }
        }

    添加数据时去重

      var attr = [2,5,10,16,27];

      var sj = 10;
      var cf = true;
      for(var i=0;i<attr.length;i++)
      {
        if(sj == attr[i])
        {
          cf = false;
          break;
        }
      }
      if(cf)
      {
        attr.push(sj);
        alert(attr.length);
      }
      else
      {
        alert("有重复值");
      }

    冒泡排序

      var attr=[1,8,6,4,5,3,7,2,9];    //数组里面两个相邻的两个元素进行比较,满足条件元素交换

      var zj = 0;    //定义一个中间变量

      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;

          }

        }

      }

      alert(attr[0]);

      attr.sort();  //JS按第一位排序,有的准有的不准

    二分法查找数据  

      var attr[1,2,3,4,5,6,7,8,9];   //首先数组需要排好序

      var v = 6;  //要查找的值

      var minsy=0;

      var maxsy=attr.length-1;
      var midsy;
      while(true)
      {
        var 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);

  • 相关阅读:
    福大软工 · 第七次作业
    git分支重命名
    vscode左侧文件不同颜色标识含义
    正则表达式匹配指定字符区间的内容,且不包含指定字符
    git如何撤销工作区的修改
    git查看某个文件的提交历史
    扫盲篇--远程桌面连接
    git merge后如何撤销
    element-ui+vue-treeselect校验
    typeof 踩坑总结
  • 原文地址:https://www.cnblogs.com/The-second/p/5884220.html
Copyright © 2011-2022 走看看