学习js第五天 数组及数据结构
作者:互联网
数据结构
存储结构
线性结构
数组(顺序表) 队列 栈 堆 链表
非线性结构
树 图 hash表
数组
声明数组的方式
1,用[]声明数组
var arr = [ ]
2用new关键字声明
var arr = new Array( ) //括号内不写表示数组长度为0,写一位表示长度,写多位表示数组里的内容
数组遍历
-
传统for循环
-
for in遍历 //通过下标遍历
for (var index in arr){ //index表示下标
console.log(arr[index])
}
-
for of // 直接遍历数组里的内容
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