javascript数据结构系列(五)-串
来源:互联网 发布:python 判断类型相同 编辑:程序博客网 时间:2024/05/22 05:31
前言
昨天和今天本来打算仔细研究一下严蔚敏教材的离散事件模拟,结果经过两天发现还是没法儿理解,先行放下日后再说,今天先学习串。
串
1. 定义:串是由0个或多个字符组成的有限序列,一般记为:s=′a1a2a3a4⋅⋅⋅a′n(n≥0) 其中,s是串的名,用单引号括起来的字符序列是串的值;a1(1≤i≤n) 可以是字母,数字或者其他字符;串中字符的数目n称为串的长度,0个字符的串称为空串,它的长度为0。串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串响应的称为主串。通常称字符在序列中的序号为该字符在串中的位置。子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。称两个串是相等的,当且仅当这两个串的值相等。也就是说,只有当两个串的长度相等,并且各个对应位置的字符都相等时才相等。
2. 实现:
//串的块存储function Chunk(chunkSize){ this.chunkSize = chunkSize || 4; this.chunk = []; for(var i = 0; i<this.chunkSize;i++){ this.chunk[i] = '#' } //type:chunk this.next = null;};exports.LString = LString;function LString(chunkSize){ this.head = null; this.tail = null; this.length = 0; this.chunkSize = chunkSize || 4;};LString.prototype = { //生成一个串 strAssign:function(chars){ this.head = this.tail = new Chunk(this.chunkSize); this.length = chars.length; var current = this.head; for(var i = 0,len = chars.length;i<len;i++){ current.chunk[i % this.chunkSize] = chars[i]; if((i+1 < len) && ((i+1) % this.chunkSize) === 0){ current.next = new Chunk(); current = current.next; } } this.tail = current; }, //复制一个串 strCopy:function(S){ }, //判断是否为空 strEmpty:function(){ }, //若S>T则返回值大于0 strCompare:function(){ var current = this.head; var curT = tLString.head; if(this.lenth !== tLString.length){ return false; } while(current){ for(var i = 0;i < this.chunkSize;i++){ if(current.chunk[i] !== curT.chunk[i]){ return false; } } current = current.next ; curT = curT.next; } return true; }, //求串的长度 strLength:function(){ }, //返回pos开始长度为len的子串 subString:function(){ }, //链接两个字符串 contact:function(tLString){ }, //若s中存在与t相同的子串,则返回他在主串中第ps个字符之后第一次出现的位置 index:function(){ }, //在s的第pos个个字符之前插入t strInsert:function(){ }, //从s中删除第pos个字符起长度为len的子串 strDelete:function(){ },};
3. 注:没有实现的方法明天再继续。今天这两个还有点懵。
阅读全文
0 0
- javascript数据结构系列(五)-串
- javascript数据结构系列(五)-串(2)
- javascript数据结构系列(五)-串(3)
- 大话数据结构读书笔记系列(五)串
- JavaScript系列(五:事件)
- JavaScript难点系列(五):执行上下文
- javascript数据结构系列(一)-线性表
- javascript数据结构系列(三)-栈
- javascript数据结构系列(四)-队列
- Javascript学习系列(五):JavaScript cookie详解
- 大话数据结构(五)串
- 数据结构与算法JavaScript(五) :串(经典KMP算法)
- 数据结构与算法javascript描述(五) 选择排序
- 数据结构与算法Javascript描述(五)循环链表
- 学习JavaScript数据结构与算法(五)——集合
- JavaScript语法入门系列(五) 选择语句
- javascript数据结构系列(二)-线性表(1)
- javascript数据结构系列(二)-线性表(2)
- J2EE搭建之七 创建一个Dynamic Web Project
- HDU 6168 Numbers 思维
- phpstorm 实现同步代码到远程虚拟机
- java-基础复习-工具类
- 【Solution】Git添加GitHub远程库免去账号密码验证
- javascript数据结构系列(五)-串
- 垃圾回收机制
- angular2中数据绑定方法总结和管道使用
- 以百度地图为例,对android手机移动端地图开发进行简介
- Java高并发,如何解决,什么方式解决
- linux-python编程
- 学生信息管理系统的构建2--Sqlite3的使用
- 陕西多校OI模拟赛day3t3 贺老师含树
- SSM配置之一Mybatis