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客户端脚本的设计和应用
Aug 21 Javascript
javascript动态添加表格数据行(ASP后台数据库保存例子)
May 08 Javascript
js截取字符串的两种方法及区别详解
Nov 05 Javascript
jquery实现通用的内容渐显Tab选项卡效果
Sep 07 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
javascript使用btoa和atob来进行Base64转码和解码
Mar 20 Javascript
使用Sonarqube扫描Javascript代码的示例
Dec 26 Javascript
webpack中如何加载静态文件的方法步骤
May 18 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
JQuery Ajax如何实现注册检测用户名
Sep 25 jQuery
在HTML中使用JavaScript的两种方法
Dec 24 Javascript
vue 中this.$set 动态绑定数据的案例讲解
Jan 29 Vue.js
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基础知识:类与对象(5) static
2006/12/13 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
PHP模块memcached使用指南
2014/12/08 PHP
PHP Curl模拟登录微信公众平台、新浪微博实例代码
2016/01/28 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
php对接java现实加签验签的实例
2016/11/25 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
判断控件是否已加载完成的代码
2010/02/24 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
省市二级联动小案例讲解
2016/07/24 Javascript
Bootstrap实现input控件失去焦点时验证
2016/08/04 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
jQuery实现ajax无刷新分页页码控件
2017/02/28 Javascript
BootStrap注意事项小结(五)表单
2017/03/10 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
Python contextlib模块使用示例
2015/02/18 Python
Python import用法以及与from...import的区别
2015/05/28 Python
详解Python 正则表达式模块
2018/11/05 Python
使用pandas把某一列的字符值转换为数字的实例
2019/01/29 Python
Python中常用的8种字符串操作方法
2019/05/06 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
勤俭节约倡议书
2014/04/14 职场文书
中专毕业生的自荐书
2014/07/01 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
四大名著读书笔记
2015/06/25 职场文书
保护地球的宣传语
2015/07/13 职场文书
初中班级口号霸气押韵
2015/12/24 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
python opencv通过按键采集图片源码
2021/05/20 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript
利用Java连接Hadoop进行编程
2022/06/28 Java/Android