• js数组及数组应用(冒泡和二分,遍历输出)


    一、定义:1)var arr=new Array();

                加数据:arr[0]=1;

              2)定义同时赋值:var arr=new Array(1,2,3,4,5);

              3)调用:var arr=new Array();

                       arr.push(1);用.push调用

              4)var arr=[1,2,3,4,5];

                 alert(arr[4]);

    二、属性:1)arr.length:数组的长度

                  eg:var arr=new Array(1,2,3,4,5,6);

                     alert(arr.length);

     

    arr.length;属性(国定)

    arr.push:方法(不固定)

    2)arr.indexOf:判断数组中是否存在输入的这个数据,若返回索引则存在,返回-1则不存在

    eg:var arr=new Array(1,2,3,4,5,6);

     var a=3;

    alert(arr.indexOf(a));

    二维数组:数组外面又套了一个数组

    var arr=new Array(

    var arr=new Array(1,2,3,4,5,6);

    var arr=new Array(11,12,13,14,15,16);

    );

    三、遍历输出:1、for循环

    var arr=new Array(10,20,11,14,18,30,50);

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

    {

    alert(arr[i]);

    }

    2、foreach:强类型中不用与数组,用于集合

    arr int  集合遍历

    数组索引叫做key,数组里面的值叫做value,key和value是成对存在的,叫做键值对

    冒泡:比较的轮次是数组长度减一,比较的次数是数组长度减轮次

    var arr=new Array(70,34,60,49,20,59,98,100);

    var zj=0;

    第一次for用来控制循坏轮数

    for(var i=1;i<arr.length;i++)

    {

    for(var a=0;a<arr.length-i;a++)控制每轮比较次数;

    {

    if(arr[a]<arr[a+1])

    {

    arr[a]=zj;

    arr[a+1]=arr[a];

    zj=arr[a+1];

    }

    }

    }

    二分法:在一个数组中查找数据,找到数据所在位置的索引

    var arr =new Array(1,2,3,4,5,6,7,8,9,10);

    var a=3;

    var maxd=arr.length-1;mind=0;

    while(true){

    var zjd=parseInt((maxd+mind)/2);

    if(zjd==minx){

    if(a==arr[zjd+1]){

    alert(zjd+1);

    break;

    }

    }

    if(a==zjd){

    alert(zjd);

    break;

    }else if(a>zjd){

    mind=zjd;

    }else{maxd=zjd;}

    }

  • 相关阅读:
    Vue.js整理
    linux~dd命令
    linux 开机自启动的两种方式
    解决mount.nfs: access denied by server while mounting
    pip与apt-get的使用
    Mysql 中字符串的截取
    学生练习:括号匹配
    迷宫问题,打印所有路径,深度搜索,dfs
    vector用法
    【CF1257A】Two Rival Students【思维】
  • 原文地址:https://www.cnblogs.com/NCL--/p/7041413.html
Copyright © 2020-2023  润新知