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 进阶篇2 CSS XML学习
Mar 14 Javascript
jquery中focus()函数实现当对象获得焦点后自动把光标移到内容最后
Sep 29 Javascript
JS window对象的top、parent、opener含义介绍
Dec 03 Javascript
详解Bootstrap glyphicons字体图标
Jan 04 Javascript
深入探秘jquery瀑布流的实现
Jan 30 Javascript
Javascript中数组去重与拍平的方法示例
Feb 03 Javascript
JS实现动态添加DOM节点和事件的方法示例
Apr 28 Javascript
vue2 全局变量的设置方法
Mar 09 Javascript
Vue框架里使用Swiper的方法示例
Sep 20 Javascript
浅谈Javascript常用正则表达式应用
Mar 08 Javascript
基于mpvue小程序使用echarts画折线图的方法示例
Apr 24 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
Oct 15 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
图象函数中的中文显示
2006/10/09 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
PHP实现文件上传后台处理脚本
2020/03/04 PHP
jQuery 名称冲突的解决方法
2011/04/08 Javascript
jquery自定义属性(类型/属性值)
2013/05/21 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
jQuery时间验证和转换为标准格式的时间格式
2017/03/06 Javascript
微信小程序使用modal组件弹出对话框功能示例
2017/11/29 Javascript
angular动态表单制作
2018/02/23 Javascript
Node.js中,在cmd界面,进入退出Node.js运行环境的方法
2018/05/12 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
jquery弹窗时禁止body滚动条滚动的例子
2019/09/21 jQuery
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
Vue组件通信入门之Provide和Inject机制
2019/12/29 Javascript
手把手教你如何编译打包video.js
2020/12/09 Javascript
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
最大K个数问题的Python版解法总结
2016/06/16 Python
python如何实现内容写在图片上
2018/03/23 Python
Python实现读取txt文件中的数据并绘制出图形操作示例
2019/02/26 Python
python数据归一化及三种方法详解
2019/08/06 Python
Tensorflow 卷积的梯度反向传播过程
2020/02/10 Python
Django 返回json数据的实现示例
2020/03/05 Python
零基础学python应该从哪里入手
2020/08/11 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
花卉与景观设计系大学生求职信
2013/10/01 职场文书
校园之声广播稿
2014/01/31 职场文书
远程研修随笔感言
2014/02/10 职场文书
一分钟演讲稿
2014/04/30 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
优秀护士事迹材料
2014/12/25 职场文书
安阳殷墟导游词
2015/02/10 职场文书
地雷战观后感
2015/06/09 职场文书
Java 异步任务计算FutureTask
2022/04/28 Java/Android