javascript数据结构系列(五)-串(3)
来源:互联网 发布:搞笑网络电话录音 编辑:程序博客网 时间:2024/05/16 11:47
前言
之前写的方法和数据结构结构是串的块存储方式,今天写的是堆分配存储表示。这种表示的特点是:仍以一组地址连续的存储单元存放串值字符序列,但他们的存储空间是在程序执行过程中动态分配而得。ps:前几天比较忙,很多其他的杂事没来得及写博客。
串的堆分配方式
//存储结构function Hstring(){ this.ch = []; this.length = 0;};
//相关方法exports.Hstring = Hstring;Hstring.prototype = { StrAssign:function(chars){ StrCopy(this.ch, chars, 0, chars.length - 1, 0); this.length = chars.length; }, StrLength:function(){ return this.length; }, ClearHString:function(){ this.ch = []; this.length = 0; }, //比较两个串,若S > T,则返回>0,=则返回0,否则返回< 0; StrCompare:function(THString){ for(var i = 0;i < this.length && i<THString.length;++i ){ if(this.ch[i] != THString.ch[i]){ return this.ch[i]-THString.ch[i]; } } return this.length - THString.length; }, //链接两个字符串 Concat:function(S){ var T = new Hstring(); //直接将this所指的字符串拷贝给T StrCopy(T.ch,this.ch,0,this.length - 1,0); //设置T的长度 T.length = this.length + S.length; //拷贝S的字符串给T,注意destStart是从this.Length开始的 StrCopy(T.ch,S.ch,this.length,S.length - 1,0); console.log(T.toString()); return T; }, //用sub返回串this的第pos个字符起长度为len的子串 SubString:function(pos,len){ if(pos < 1 || pos > this.length || len < 0 || len > this.length-pos+1){ return Error; } var sub = new Hstring(); if(!len){ return false; }else{ StrCopy(sub.ch, this.ch, 0, len - 1, pos); sub.length = len; } console.log(sub); return sub; }, toString:function(){ var s = ''; for(var i = 0;i<this.length;i++){ s += this.ch[i]; } console.log(s) return s; },}
后记
串的相关数据结构应该还有一个KMP匹配算法,加上一个到两个相关练习题。串结束之后就是数组。
阅读全文
0 0
- javascript数据结构系列(五)-串
- javascript数据结构系列(五)-串(3)
- javascript数据结构系列(五)-串(2)
- 大话数据结构读书笔记系列(五)串
- JavaScript系列(五:事件)
- JavaScript难点系列(五):执行上下文
- javascript数据结构系列(一)-线性表
- javascript数据结构系列(三)-栈
- javascript数据结构系列(四)-队列
- Javascript学习系列(五):JavaScript cookie详解
- 大话数据结构(五)串
- 数据结构与算法javascript描述(五) 选择排序
- 数据结构与算法Javascript描述(五)循环链表
- 学习JavaScript数据结构与算法(五)——集合
- JavaScript语法入门系列(五) 选择语句
- javascript数据结构系列(二)-线性表(1)
- javascript数据结构系列(二)-线性表(2)
- javascript数据结构系列(六)-二叉树(2)
- day4
- jquery radio获取值 替换html 判断闰年平年 select获取非选中的option
- OSG-简单模型控制
- java打印九九乘法表——CSDN博客
- centos下安装PHP的PDO扩展!
- javascript数据结构系列(五)-串(3)
- echo命令详解
- 【半年总结】2017年上半年总结——有些路总要自己走过才知道
- Unreal Engine 4 —— 多线程任务构建
- 4-4 求序列和
- 物体来回移动,两点之间
- java常用的内部类
- java操作字符串——CSDN博客
- Annual summary(年度总结)--计算机学习篇