其他分享
首页 > 其他分享> > 学习js第五天 数组及数据结构

学习js第五天 数组及数据结构

作者:互联网

数据结构

存储结构

线性结构

数组(顺序表)  队列    栈  堆  链表

非线性结构

树  图  hash表

数组

声明数组的方式

1,用[]声明数组

  var arr = [ ]

2用new关键字声明

  var  arr = new Array( )    //括号内不写表示数组长度为0,写一位表示长度,写多位表示数组里的内容

 

数组遍历

    for (var index in arr){    //index表示下标

      console.log(arr[index])

    }

    for(var value of arr){   //value表示的是里面值
      console.log(value)
    }

修改数组的方法

添加 (add push append..)

  栈方法

    push方法:添加到最后

      var arr = [1]
      arr.push(10)

      console. log(arr.push(10))    //返回添加后的数组长度
      console.log(arr) //[1,10]

  队列方法

    unshift 方法 :添加到第一个

删除 (delete(硬删) remove(软删)..)

  栈方法

    pop:删除最后面的

      console.log(pop())   //返回被删除的内容

  队列方法

    shift:删除第一个

修改 (replace替换 update 更新)

  反转 reverse(将最后一个变到第一个 一个个对应的换位置)

  排序 sort

    var arr3 = [15,20,11,4,5]
    arr3.sort(function(a,b){
      //1 和 -1来进行大小区分和排序规则
      return b-a   //a-b是正序 b-a就倒序
    })

  不影响原本数组的方法

    concat (连接)  // concat 连接 把多个数组变成一个数组 返回

    slice (截取)  

  splice 方法 (删除)  //splice会影响之前的数组 删除 截取 插入

  

 

排序算法

1.冒泡排序

2.选择排序(选择最大值的下标(或者最小值的下标)进行比较的排序)

3.快速排序

取一个数当作中间值,比中间值小的数放入左边的数组,大的放入右边数组,

再将左右两边的数组分别执行上诉的操作,无限二分为左右数组,直到左右数组的长度<=1

4.希尔排序 (插入排序的进阶)
5.插入排序 (插入数据的时候进行排序)
6.归并排序 (大数据排序的常用排序算法)

......

 

标签:arr,数据结构,console,log,js,数组,var,第五天,排序
来源: https://www.cnblogs.com/nihaoxiangbufuqi/p/16534383.html