JavaScript数据结构中串的表示与应用实例


Posted in Javascript onApril 12, 2017

本文实例讲述了JavaScript数据结构中串的表示与应用。分享给大家供大家参考,具体如下:

类似于线性表的顺序存储结构,用一组地址连续的存储单元存储串值的字符序列。下面我们以串联接为例,讲解一下这种存储结构时串的操作。JavaScript自带有concat方法,该方法返回字符串值,该值包含了两个或多个提供的字符串的连接。

其实思路很简单,就是将第二个串拼接在第一个串后面,代码如下

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
<script type="text/javascript">
  function Concat(a,b){
    var t=new Array();
    var  a_len=a.length,
      b_len=b.length;
    for(var i=0;i<a_len;i++){
      t.push(a[i]);
    }
    for(var i=0;i<b_len;i++){
      t.push(b[i]);
    }
    return t;
  }
  var t=Concat("1234","abcd");
  alert(t);//1,2,3,4,a,b,c,d
</script>
  </body>
</html>

从上面的算法可以看出,在顺序存储结构中,实现串操作的原操作其实就是字符序列的复制操作的时间复杂度是基于复制的字符序列的长度的。这里我举的例子是堆分配存储的,还有一种是定长存储。这两者有什么区别呢?

定长分配就是在指定串的时候要指定一个长度限制,这样超过的部分就会被截取;而堆分配存储的存储空间是在程序执行过程中动态分配的。比如我定义一个array却不指定长度,其实就是默认采用的堆分配存储。

由于数组的分配是定义的时候就要分配,但是要是分配的少了就会出现程序的运行和想象的不一样或者是出现错误,要是分配的多了而用的少了又会出现资源的浪费,这个在大型的程序中是很浪费的,所以就要动态分配,动态分配在使用的时候再分配,知道要分配多少,这样会使得空间的利用率比较高。

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

Javascript 相关文章推荐
使用javascript获取flash加载的百分比的实现代码
May 25 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
Oct 21 Javascript
jQuery 常用代码集锦(必看篇)
May 16 Javascript
jQuery Mobile动态刷新页面样式的实现方法
May 28 Javascript
结合代码图文讲解JavaScript中的作用域与作用域链
Jul 05 Javascript
BootStrap的table表头固定tbody滚动的实例代码
Aug 24 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
Dec 08 Javascript
Three.js基础学习之场景对象
Sep 27 Javascript
bootstrap 通过加减按钮实现输入框组功能
Nov 15 Javascript
vue cli 3.0 搭建项目的图文教程
May 17 Javascript
angularjs模态框的使用代码实例
Dec 20 Javascript
vue style width a href动态拼接问题的解决
Aug 07 Javascript
javascript数据结构之串的概念与用法分析
Apr 12 #Javascript
详解RequireJS按需加载样式文件
Apr 12 #Javascript
JS表格组件神器bootstrap table使用指南详解
Apr 12 #Javascript
详谈jQuery.load()和Jsp的include的区别
Apr 12 #jQuery
微信小程序开发之选项卡(窗口底部TabBar)页面切换
Apr 12 #Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 #Javascript
使用jQuery和ajax代替iframe的方法(详解)
Apr 12 #jQuery
You might like
php中数组首字符过滤功能代码
2012/07/31 PHP
php简单实现无限分类树形列表的方法
2015/03/27 PHP
Nginx下配置codeigniter框架方法
2015/04/07 PHP
php根据日期或时间戳获取星座信息和生肖等信息
2015/10/20 PHP
js中widow.open()方法使用详解
2013/07/30 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
2018/01/31 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
python根据文件大小打log日志
2014/10/09 Python
关于反爬虫的一些简单总结
2017/12/13 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python 元组的使用方法
2020/06/09 Python
Python 高效编程技巧分享
2020/09/10 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
Java程序开发中如何应用线程
2016/03/03 面试题
临床医学应届生求职信
2013/11/06 职场文书
个人简历自荐信
2013/12/05 职场文书
机关门卫制度
2014/02/01 职场文书
入学申请自荐信范文
2014/02/26 职场文书
电台编导求职信
2014/05/06 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
2014报到证办理个人委托书
2014/10/08 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
2015年学校教科室工作总结
2015/07/20 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
2016年学校招生广告语
2016/01/28 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL
Go中的条件语句Switch示例详解
2021/08/23 Golang