JavaScript数据结构中串的表示与应用实例
作者:布瑞泽的童话 时间:2023-08-26 10:38:38
本文实例讲述了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,数据结构,串
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
PHP获取url的函数代码
2023-10-15 12:45:00
10个有用的Python字符串函数小结
2023-08-13 11:26:28
用SQL语句生成带有小计合计的数据集脚本
2009-01-06 11:33:00
JS实现十字坐标跟随鼠标效果
2024-04-22 22:43:00
![](https://img.aspxhome.com/file/2023/9/135569_0s.jpg)
详解Python中with语句的用法
2022-07-31 05:24:52
Mybatis实现分包定义数据库的原理与过程
2024-01-23 12:33:55
![](https://img.aspxhome.com/file/2023/3/97933_0s.png)
SQL Server 分页查询存储过程代码
2024-01-21 04:53:40
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2022-05-05 07:34:53
Pycharm中的下载安装、配置与测试方式
2023-11-18 01:53:27
![](https://img.aspxhome.com/file/2023/2/101212_0s.png)
通过实例简单了解Python中yield的作用
2023-03-10 11:23:17
mysql 开启慢查询 如何打开mysql的慢查询日志记录
2024-01-20 20:48:35
关于Python 中的时间处理包datetime和arrow的方法详解
2023-11-16 12:18:48
在Pandas中导入CSV数据时去除默认索引的方法汇总
2023-03-16 02:35:53
亚马逊购物用户体验分析(三)
2009-10-25 12:53:00
![](https://img.aspxhome.com/file/UploadPic/200910/25/navigational-elements-95s.jpg)
Python 数据结构之树的概念详解
2021-06-24 17:08:25
![](https://img.aspxhome.com/file/2023/8/78798_0s.png)
Python简单实现两个任意字符串乘积的方法示例
2023-10-29 12:04:40
vue3简单封装input组件和统一表单数据详解
2024-04-26 17:41:18
![](https://img.aspxhome.com/file/2023/6/133126_0s.jpg)
WxPython界面利用pubsub如何实现多线程控制
2021-01-28 08:10:03
![](https://img.aspxhome.com/file/2023/7/77877_0s.png)
Python运行报错UnicodeDecodeError的解决方法
2022-03-21 17:21:40
python3中calendar返回某一时间点实例讲解
2022-07-24 02:56:16