数据结构与算法 -- 字符串的定义总结笔记

首先讲讲对于字符串的定义:字符串在计算机语言中简称为串,在数据结构当中,串是一种在数据元素的组成上具有一定约束条件的线性表,即要求组成线性表的所有数据元素都是字符,因此人们常说串是一个有穷的字符序列。它是由零个或多个字符组成的有限序列,每个字符可以是字母、数字或是任何其他的符号,零个字符的串被称作为空串,空串不包含任何字符。

需要我们去注意的是,长度为1的空格字符串 ≠ 空串;值为单个字符的字符串 ≠ 单个字符;串值不包括双撇号,因为双撇号是串的定界符。字符串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串则称为主串。通常将字符在串中的序号称为该字符在串中的位置。子串在主串钟的位置则以该子串在主串中的第一个字符位置来表示。

关于字符串的基本算法:基本算法在其应用中广泛使用,这些算法不仅加深了我对字符串本身的理解,更简化了人们日后对串的应用。①赋值:Assign(s,t),将t的值赋给s;②求值:Assign(s4,s3)或Assign(s4,“student”)后,s4="student";③求长度:Length(s);④判断是否相等:Equal(s,t);⑤求字串:Substr(s,i,len);⑥插入:Insert(s,i,t),在s的第i个位置之前插入串t;⑦删除:Delete(s,i,len);⑧替换:Replace(s,u,v),将s中的子串u替换为串v。

那么,字符串的基本运算在程序中是如何实现的呢?首先我们要知道的是,字符串是在程序中比较常见的线性存储结构,也就是用一个连续的存储空间将该字符串的每一个字符按照一定的顺序存储起来。所以,在定义一个字符串之前,我们必须要先申请一个足够可以容纳字符串的空间:如下图:
数据结构与算法 -- 字符串的定义总结笔记
将它的空间定义好了以后,才可以接着往空间里面存储具体的字符串,也就是基本操作当中的给字符串赋值,如下图:
数据结构与算法 -- 字符串的定义总结笔记
赋值后,便可以轻松的对该字符串进行其他不同的操作了。