当前位置: 首页 > news >正文

泉州企业网站开发域名访问网站 过程

泉州企业网站开发,域名访问网站 过程,梓潼移动网站建设,北京论坛串的抽象数据类型 串的逻辑结构和线性表很相似,不同之处在于串针对的是字符集,也就是串中的元素都是字符,哪怕串中的字符是“123”这样的数字组成,或者“2010-10-10”这样的日期组成,它们都只能理解为长度为3和长度为…
串的抽象数据类型

串的逻辑结构和线性表很相似,不同之处在于串针对的是字符集,也就是串中的元素都是字符,哪怕串中的字符是“123”这样的数字组成,或者“2010-10-10”这样的日期组成,它们都只能理解为长度为3和长度为10的字符串,每个元素都是字符而已。

因此,对于串的基本操作与线性表是有很大差别的。线性表更关注的是单个元素的操作,比如查找一个元素,插入或删除一个元素,但串中更多的是查找子串位置、得到指定位置子串、替换子串等操作。

对于不同的高级语言,其实对串的基本操作会有不同的定义方法,所以同学们在用某个语言操作字符串时,需要先查看它的参考手册关于字符串的基本操作有哪些。不过还好,不同语言除方法名称外,操作实质都是相类似的。比如C#中,字符串操作就还有ToLower转小写、ToUpper转大写、IndexOf从左查找子串位置(操作名有修改)​、LastIndexOf从右查找子串位置、Trim去除两边空格等比较方便的操作,它们其实就是前面这些基本操作的扩展函数。

我们来看一个操作Index的实现算法。

当中用到了StrLength、SubString、StrCompare等基本操作来实现。

串的存储结构

串的存储结构与线性表相同,分为两种。

串的顺序存储结构

串的顺序存储结构是用一组地址连续的存储单元来存储串中的字符序列的。按照预定义的大小,为每个定义的串变量分配一个固定长度的存储区。一般是用定长数组来定义。

既然是定长数组,就存在一个预定义的最大串长度,一般可以将实际的串长度值保存在数组的0下标位置,有的书中也会定义存储在数组的最后一个下标位置。但也有些编程语言不想这么干,觉得存个数字占个空间麻烦。它规定在串值后面加一个不计入串长度的结束标记字符,比如“\0”来表示串值的终结,这个时候,你要想知道此时的串长度,就需要遍历计算一下才知道了,其实这还是需要占用一个空间,何必呢。

刚才讲的串的顺序存储方式其实是有问题的,因为字符串的操作,比如两串的连接Concat、新串的插入StrInsert,以及字符串的替换Replace,都有可能使得串序列的长度超过了数组的长度MaxSize。

显然,无论是上溢提示报错,还是对多出来的字符串截尾,都不是什么好办法。但字符串操作中,这种情况比比皆是。

于是对于串的顺序存储,有一些变化,串值的存储空间可在程序执行过程中动态分配而得。比如在计算机中存在一个自由存储区,叫做“堆”​。这个堆可由C语言的动态分配函数malloc(​)和free(​)来管理。

串的顺序存储结构

对于串的链式存储结构,与线性表是相似的,但由于串结构的特殊性,结构中的每个元素数据是一个字符,如果也简单的应用链表存储串值,一个结点对应一个字符,就会存在很大的空间浪费。因此,一个结点可以存放一个字符,也可以考虑存放多个字符,最后一个结点若是未被占满时,可以用“#”或其他非串值字符补全,如图所示。

当然,这里一个结点存多少个字符才合适就变得很重要,这会直接影响着串处理的效率,需要根据实际情况做出选择。

但串的链式存储结构除了在连接串与串操作时有一定方便之外,总的来说不如顺序存储灵活,性能也不如顺序存储结构好。

http://www.dtcms.com/a/456331.html

相关文章:

  • wordpress上传织梦seo优化常识
  • 网站建设与设计的论文pyton怎么做网站的代码
  • 做网站设计师要提供什么个人网站设计要求
  • 买男装最好的购物网站门户网站建设原则
  • 访问网站有音乐背景怎么做优化就是开除吗
  • 企业百度网站建设广东深圳电子厂
  • 网站原型设计规范手机如何制作自己的网站
  • 郑州搜狗网站建设专业培训
  • 推荐定制型网站建设本地开发app的公司地址
  • 深圳o2o网站建设高校资源网网站建设方案
  • 网站地图用法中企动力企业邮箱app
  • 站内内容投放计划郑州公司建设网站
  • 已有备案号新增网站备案要关闭原先的站点吗最近时事新闻热点事件
  • soho怎么做网站大连网络推广公司推荐
  • 天津百度网站快速排名吴江城乡建设局网站
  • 哪些网站可以做h5最方便在线网站开发
  • 可以看男男做的视频网站网站建设在哪里找客户
  • 如何用个人电脑做网站网站建设公司运营计划
  • 经营范围 网站建设东莞定制网页设计
  • 建设部监理工程师报名网站专门做电子书的网站有哪些
  • wordpress 站内搜索 慢搜狐广告收费标准
  • 南宁霸屏网站开发推广培训
  • html做网站例子网站建设赋值
  • 源代码做的网站好用么wordpress监测代码
  • 做网站人员工资小程序页面设计图
  • 重庆亮哥做网站怎么给自己的公司做网站
  • 常州建设局网站为什么打不开企业oa系统下载
  • 网站建设策划公司地址微盟登录
  • wordpress常规地址改错了怎么办济南优化网站关键词
  • .flv 网站播放wordpress页面标签页