线性表、数组迭代


前言

线性表:任何一个元素都可以明确地得知该元素的前一个元素和后一个元素。
线性表的长度:线性表中数据元素的个数。
迭代:根据迭代公式多次运算,且每一次运算的结果将作为下一次运算的初始值。


| 10 | 20 | 30 | 40 | 50 | var line=[10,20,30,40,50];

一、线性表

(1)线性表数据元素的查找

例:从线性表中查询40这个元素。若存在,则返回该元素的索引值;若不存在,则返回-1。
使用数组的方法:line.indexOf(40)

var key=400;
var index=-1;
for(var i=0;i<line.length;i++){
	if(line[i]==key){
		index=i;
        break;
	}
}
console.log(index);

(2)线性表的增添

例:向线性表中40元素的前面添加新元素“A”。
使用数组的方法:line.indexOf(40)
查找40在线性表中的位置(index)
将新元素“A”添加到index位置处。

(3)线性表的删除

例:从线性表中删除元素40。
使用数组的方法:line.splice(line.indexOf(40),1);
查找40在线性表中的位置(index)
从线性表中删除索引值为index的值。
因为删除了一个元素,所以要修正线性表的长度。

line.length--;

(4)在线性表的末尾操作元素

1.末尾添加元素:

line[line.length]=1000;

2.末尾删除元素:

line.length--;

二、数组的迭代

reduce(function(acc,cur,index,array){ return 迭代公式; },initValue),让数组元素从左向右迭代。
reduceRight(function(acc,cur,index,array){ return 迭代公式; },initValue),让数组元素从右向左迭代。

(1)不书写initValue的迭代运算

不书写initValue的迭代运算,其第一次遍历的index值从1开始,acc的初始值是数组索
引值为0的元素。

var x=[1,2,3,4,5,6,7,8,9,10];
var sum=x.reduce(function(acc,cur,index,array){
return acc+cur;
})
console.log(sum); //55

(2)书写initValue的迭代运算

书写initValue的迭代运算,其第一次遍历的index值从0开始,acc的初始值是initValue。

var x=[1,2,3,4,5,6,7,8,9,10];
var sum=x.reduce(function(acc,cur,index,array){
return acc+cur;
},100)
console.log(sum);


总结

(1)所有的线性表操作都是基于查找来实现的。 (2)增添和删除操作的本质就是按照顺序挪动元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值