网络编程
位置:首页>> 网络编程>> JavaScript>> JavaScript数据结构中串的表示与应用实例

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

作者:布瑞泽的童话  发布时间:2023-08-26 10:38:38 

标签:JavaScript,数据结构,串

本文实例讲述了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程序设计有所帮助。

0
投稿

猜你喜欢

  • 随着短视频的大火,不仅可以给人们带来娱乐,还有热点新闻时事以及各种知识,刷短视频也逐渐成为了日常生活的一部分。本文以一个简单的小例子,简述如
  • 众所周知,IE 6只支持单通道的PNG图片(即只有透明/不透明2种状态,gif图片的透明单通道透明),因此如果需要使用alpha透明的png
  • 基于之前的文章方法,加入批处理命令即可实现自动备份。只是由于批处理命令中对于备份文件的名字按照时间命名比较特别,所以特别整理一文。1、复制d
  • python文件特定行插入和替换实例详解python提供了read,write,但和很多语言类似似乎没有提供insert。当然真要提供的话,
  • 序章yield item这行代码会产出一个值,提供给next()的调用方;此外还会做出让步,暂停执行生成器,让调用方继续工作,知道需要使用另
  • 本文实例为大家分享了python图书管理系统的具体代码,供大家参考,具体内容如下实现语言:python图形框架:DTK+2.0数据库框架:S
  • 1. 排序有什么用“排序”这个专业名词原本是来源于计算机程序操作中的,是一种很常见的算法设计,当然,对交互设计来说,探讨冒泡排序和堆排序之间
  • GeoPandas是一个基于pandas,针对地理数据做了特别支持的第三方模块。它继承pandas.Series和pandas.Datafr
  • 将Excel中的数据导入到Access中,前提是在Access中的表已经建好。 dim conn dim co
  • 功能需求1,利用随机数模拟产生每次考试成绩2,将每次考试成绩存入到数据库3,将每次考试成绩划分优、良、中、差、不及格五类,并作为查询条件,查
  • 大家在使用python的过程中,应该在敲代码的时候经常遇到str内置函数,为了防止大家搞混,本文整理归纳了str内置函数。1字符串查找类:f
  • 概述今天主要分享下mysql数据库应该如何正确的删除binlog日志,这里要注意不要强制使用rm命令进行清除。否则mysq-bin.inde
  • ASP 组件 FILE对象当前,基于浏览器/服务器模式的应用比较流行。当用户需要将文件传输到服务器上时,常用方法之一是运行FTP服务器并将每
  • 通常懒加载等都会通过监听scroll事件用getBoundingClientRect()来判断元素位置来决定是否可以开始加载。性能开销是比较
  • EF Core 是一个ORM(对象关系映射),它使 .NET 开发人员可以使用 .NET对象操作数据库,避免了像ADO.NET访问数据库的代
  • 1.直接输入sql执行MySQL> select now();+---------------------+| now() |+---
  • 什么是事件委托/事件代理利用事件的冒泡传播机制(触发当前元素的某一个行为,它父级所有元素的相关行为都会被触发),如果一个容器中有很多元素都要
  • 1.正态分布简介正态分布(normal distribtution)又叫做高斯分布(Gaussian distribution),是一个非常
  • 本文实例为大家分享了python绘制分组对比柱状图的具体代码,供大家参考,具体内容如下首先放效果图:  # -*- co
  • 今天简单的学了一下js运动动画,记录一下自己的心得体会,分享给大家。      下面是我整
手机版 网络编程 asp之家 www.aspxhome.com