大话数据结构 串
Posted expedition
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大话数据结构 串相关的知识,希望对你有一定的参考价值。
由零个或多个字符组成的有限序列,又名字符串
s 是串的名称
用双引号 或 单引号 括起来的字符序列 是 串的值
字符数目n 是串的长度
空串:0个字符的串,长度为0——> s = ""
空格串:——> s = " "
子串:串中任意个数的连续字符组成的子序列称为该串的子串
包含子串的串称为主串
串的比较
s1 = "abcd",s2 = "acbd"
第一个字母都是a,认为不存在大小差异
第二个字母中”b“在字母表中靠前于”c“,认为”b“ < "c",于是 s1 < s2
字符集:如ASCII 码,Unicode
两个串相等——> 长度 + 各个位置的字符都相等
两个串不等时:
1.s1 = "hap"
s2 = "happy" ——> 则 s1 < s2
2.s1 = "abcd"
s2 = "acbd"——> 则 s1 < s2
串的抽象数据类型
串的逻辑结构和线性表类似,但,串针对的是字符集,也就是串中的元素都是字符
线性表 更关注的是单个元素的操作 【比如插入、删除】
串 更多的是查找子串位置、得到指定位置子串、替换子串
# 不同的高级语言,对串的基本操作有不同的定义方法
串的存储结构
1.顺序存储结构
用一组地址连续的存储单元存储串中的字符序列
按照预定义的大小,为每个定义的串变量 分配一个 固定长度的存储区 【定长数组】
既然定长,必然有 预定义的最大串长度
一般可以将实际的串长度值保存在数组的 0 下标位置
也可以在串值后面加一个不计入串长度的结束标记字符 如 “