39|串的顺序和链式存储结构:定长数组与动态数组
王健伟
你好,我是王健伟。
前面我带你一起学习了各种各样的排序算法。从这节课开始,我们就要进入到字符串的学习了。
字符串作为一种数据结构,在计算机科学领域也有着比较广泛的应用。比如在搜索引擎中搜索一个关键词、在文章或发言中过滤或屏蔽一些敏感词等。这些关键词、敏感词都属于字符串。
提到这些,估计你就对它熟悉很多了。不过别着急,我们还是从一些基本的概念和术语学起。
串有哪些基本概念?
字符串简称串,是由零个或者多个字符组成的有限序列。计算机上非数值处理的对象通常指的就是串数据。在 C 语言中,针对串的处理函数常用的有这几个:strlen()、strcat()、strcmp()、strcpy() 等。
看如下两行 C++ 风格的代码:
上述代码行中用双引号括起来的“Hello World!”,就是一个串,在 C 或者 C++ 语言中,用双引号括起来的是串,用单引号括起来的是字符。其中 mystr 称为串名,串中字符的个数 n 称为串的长度。当 n=0 时的串称为空串。空串可以用希腊字母Φ表示。
这里有两个概念咱们看一下。一个是子串,也就是串中任意个连续的字符组成的子序列。当然,如果是零个字符,就叫做空串。还有一个叫主串,包含子串的串叫做主串。
字符在主串中的位置,也就是字符在主串中的序号。序号(位置编号)从 1 开始算起。比如字符‘e’在“Hello World!”这个字符串中的位置是 2。而空格字符‘ ’在“Hello World!”这个字符串中的位置是 6,注意,空格符也是一个正常的字符。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了串的顺序存储结构和链式存储结构,以及它们在计算机科学领域中的应用。串是由零个或多个字符组成的有限序列,在计算机中非数值处理的对象通常指的就是串数据。文章详细介绍了串的基本概念,包括子串、主串以及字符在串中的位置等。此外,还介绍了串的基本操作,如增加、删除、修改、查询等,以及串的存储问题。串的存储结构主要分为顺序存储结构和链式存储结构,其中顺序存储结构是用一块地址连续的内存保存串中的字符序列。通过C语言代码示例展示了串的赋值、拷贝、比较、连接、获取子串、插入、删除和清空等操作,为读者提供了对串操作的具体实践。此外,文章还简要介绍了串的链式存储结构,指出了其优点和缺点。文章内容丰富,适合读者快速了解串的基本概念、存储结构以及在计算机科学领域中的应用。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《快速上手 C++ 数据结构与算法》,新⼈⾸单¥68
《快速上手 C++ 数据结构与算法》,新⼈⾸单¥68
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 鲁米链式存储第一次接受到2023-07-17归属地:北京
- Se7en细致,重温一遍技术基础2023-05-18归属地:北京
收起评论