2024-11-16 串的定义和基本操作

一、串的定义

1.串:即字符串(String)是由零个或多个字符组成的有限序列。一般记为S='a¡a,......an'(n 20)

其中,S是串名,单引号括起来的字符序列是串的值:ai可以是字母、数字或其他字符:串中字符的个数n称为串的长度。n=0时的串称为空串。

字串:串中任意个连续的字符组成的子序列。

主串:包含字串的串。

字符在主串中的位置:字符在串中的序号。(空格也是字符)

字串在主串中的位置:字串的第一个字符在主串中的位置。

空串: M=''

空格串: N=' '(5个空格) 【N是由五个空格字符组成的空格串,每个空格字符占1B】

2.串VS 线性表

串是一种特殊的线性表,数据元素之间呈现线性关系。

串的数据对象限定为字符集(如中文字符、英文字符、数字字符、标点字符等。

串的基本操作,如增删改查等通常以子串为操作对象

二、串的基本操作

1.StrAssign(&Tchars):赋值操作。把串T赋值为chars。

StrCopy(&TS):复制操作。由串S复制得到串T。

StrEmpty(S):判空操作。若S为空串,则返回TRUE,否则返回FALSE。

StrLength(s):求串长。返回串S的元素个数。

ClearString(&s):清空操作。将S清为空串。

DestroyString(&S):销毁串。将串S销毁(回收存储空间)。

Concat(&TS1,S2):串联接。用T返回由S1和S2联接而成的新串

Substring(&sub,s,pos,len):求子串。用Sub返回串S的第pos个字符起长度为len的子串。

Index(S,T):定位操作。若主串S中存在与串T值相同的子串,则返回它在主串S中第一次出现的位置;否则函数值为0。

StrCompare(S,T):比较操作。若S>T,则返回值>0;若S=T,则返回值=0;若S<T,则返回值<0。

2.串的比较操作

StrCompare(S,T):比较操作。若S>T,则返回值>0;若S=T,则返回值=0:若S<T,则返回值<0。(只有两个串完全相同时,才能相等)

比较的是字符集编码: 背背背背背

乱码问题: 编码规则的不同导致的。

总结:

相关推荐
玖釉-2 小时前
下一个排列:从字典序到原地算法的完整推导
数据结构·c++·windows·算法
枕星而眠3 小时前
数据结构八大排序详解(一):四大简单排序
c语言·数据结构·c++·后端
过期动态3 小时前
【LeetCode 热题 100】移动零
java·数据结构·算法·leetcode·职场和发展·rabbitmq
努力努力再努力wz3 小时前
【Qt入门系列】:按钮组件全解析:从 QAbstractButton 到快捷键事件、单选与复选机制
c语言·开发语言·数据结构·c++·git·qt·github
Dlrb12114 小时前
数据结构-栈
数据结构··内核栈·满栈空栈·增栈减栈
菜菜的顾清寒5 小时前
力扣HOT100(32)二叉树的中序遍历
数据结构·算法·leetcode
Shan12057 小时前
线段树入门:更新数组后处理求和查询
数据结构·算法
澈2078 小时前
图论天花板:Dijkstra最短路径算法详解
数据结构·算法·图论
AllData公司负责人9 小时前
亲测丝滑,体验跃迁|AllData通过集成开源项目DataVines,一站式解决数据质量难题
java·大数据·数据结构·数据库·人工智能·算法·云原生
CQU_JIAKE9 小时前
5.25【A】
java·数据结构·算法