全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JS实现线性表的顺序表示方法示例【经典数据结构】

本文实例讲述了JS实现线性表的顺序表示方法。分享给大家供大家参考,具体如下:

线性表的顺序表示指的是用一组地址连接的存储单元依次存储线性表的数据元素。通常称这种存储结构的线性表为顺序表。

顺序表的特点是以元素在计算机内物理位置相邻来表示数据元素之间的逻辑关系。每一个数据元素的存储位置都和线性表的起始位置相差一个和数据元素在线性表中的位序成正比的常数。也就是说只要确定了存储线性表的起始位置,线性表中的任一元素都可以随机存储,所以说,顺序表是一种随机存取的存储结构。

高级语言中的数组与其相似,所以我们用数组来描述顺序存储结构。

下面描述了逻辑关系的变化

下面我们来实现插入和删除的过程

首先是插入

我们在第i(1<=i<=n)个元素之前插入一个元素,需将第i至n个元素向后移动一个位置。代码如下

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title></title>
 </head>
 <body onload="ListInsert([1,2,3,4],2,5)">
 </body>
 <script type="text/javascript">
 function ListInsert(a,i,e){
  //在a的第i个位置之前插入e
  var j,
  a_len=a.length;
  for(j=a_len-1;j>=i-1;j--){
  a[j+1]=a[j];
  }
  a[i-1]=e;
  alert(a);//1,5,2,3,4
 }
 </script>
</html>

同样的道理,删除第i个元素的代码为

<!DOCTYPE html>
<html>
 <head>
 <meta charset="utf-8">
 <title></title>
 </head>
 <body onload="ListDelete([1,2,3,4,5,6,7,8],3)">
 </body>
 <script type="text/javascript">
 function ListDelete(a,i){
  //删除a集合第i个位置的值
  var e=a[i-1],//被删除的元素
  a_len=a.length;
  for(j=i-1;j<=a_len-1;j++){
  a[j-1]=a[j];
  }
  a[j-1]=null;
  alert(a);//1,2,4,5,6,7,8
 }
 </script>
</html>

从上面两个算法可以看出,时间主要耗费在移动元素上,而移动元素的个数取决于插入或删除元素的位置。根据概率论的相关知识,可以得出在顺序存储结构的线性表中插入或删除一个数据元素时,平均约移动表中一般元素。如果表长为n,则上面两个算法的时间复杂度是o(n/2),又由于n/2和n都处于线性阶。所以直接表示为o(n)

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# JS  # 线性表  # 顺序表示  # 数据结构  # JavaScript实现在数组中查找不同顺序排列的字符串  # JavaScript数据结构之二叉树的查找算法示例  # js基本算法:冒泡排序  # 二分查找的简单实例  # JavaScript黑洞数字之运算路线查找算法(递归算法)实例  # js实现的二分查找算法实例  # JavaScript使用二分查找算法在数组中查找数据的方法  # javascript下查找父节点的简单方法  # js中通过父级进行查找定位元素  # JS查找字符串中出现次数最多的字符  # javascript实现二分查找法实现代码  # js查找节点的方法小结  # 基于JavaScript实现的顺序查找算法示例  # 或删除  # 是一种  # 相关内容  # 概率论  # 遍历  # 感兴趣  # 给大家  # 可以看出  # 指的是  # 更多关于  # 来实现  # 所述  # 程序设计  # 出在  # 相关知识  # 成正比  # 也就是说  # 确定了 


相关文章: 建站之星免费版是否永久可用?  如何用y主机助手快速搭建网站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  如何高效利用亚马逊云主机搭建企业网站?  如何通过云梦建站系统实现SEO快速优化?  潮流网站制作头像软件下载,适合母子的网名有哪些?  移民网站制作流程,怎么看加拿大移民官网?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  济南网站制作的价格,历城一职专官方网站?  建站上市公司网站建设方案与SEO优化服务定制指南  如何选择高性价比服务器搭建个人网站?  如何用VPS主机快速搭建个人网站?  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  c# Task.ConfigureAwait(true) 在什么场景下是必须的  建站主机选购指南:核心配置与性价比推荐解析  如何用IIS7快速搭建并优化网站站点?  建站之星在线客服如何快速接入解答?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  如何在云主机上快速搭建多站点网站?  如何规划企业建站流程的关键步骤?  如何做静态网页,sublimetext3.0制作静态网页?  nginx修改上传文件大小限制的方法  建站之星Pro快速搭建教程:模板选择与功能配置指南  建站中国必看指南:CMS建站系统+手机网站搭建核心技巧解析  如何在IIS中新建站点并配置端口与物理路径?  制作网站公司那家好,网络公司是做什么的?  制作营销网站公司,淘特是干什么用的?  高防服务器租用指南:配置选择与快速部署攻略  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  Swift中循环语句中的转移语句 break 和 continue  定制建站模板如何实现SEO优化与智能系统配置?18字教程  建站之星CMS五站合一模板配置与SEO优化指南  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  建站主机空间推荐 高性价比配置与快速部署方案解析  如何在景安云服务器上绑定域名并配置虚拟主机?  如何在万网ECS上快速搭建专属网站?  宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  如何用wdcp快速搭建高效网站?  建站之星后台密码遗忘?如何快速找回?  娃派WAP自助建站:免费模板+移动优化,快速打造专业网站  利用JavaScript实现拖拽改变元素大小  网站制作公司,橙子建站是合法的吗?  怀化网站制作公司,怀化新生儿上户网上办理流程?  建站之星如何快速更换网站模板?  C#怎么使用委托和事件 C# delegate与event编程方法  网站制作大概多少钱一个,做一个平台网站大概多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。