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。(只有两个串完全相同时,才能相等)

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

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

总结:

相关推荐
youtootech2 小时前
HarmonyOS《柚兔学伴》项目实战09-待办列表 UI——List+ForEach+滑动删除
数据结构·ui·华为·list·harmonyos
:-)3 小时前
算法-归并排序
java·开发语言·数据结构·算法·排序算法
兰令水10 小时前
hot100【acm版】【2026.7.14打卡-java版本】
java·数据结构·算法·leetcode·面试
cpp_250110 小时前
P10098 [ROIR 2023] 地铁建设 (Day 2)
数据结构·c++·算法·贪心·二分答案·洛谷题解
米尔的可达鸭13 小时前
深入操作系统 Socket 底层:套接字控制块、FD映射、阻塞IO核心完整实现
arm开发·数据结构·websocket·网络协议·算法·架构·安全架构
tachibana213 小时前
hot100 课程表(207)
java·数据结构·算法·leetcode
Frostnova丶14 小时前
(15)LeetCode 189. 轮转数组
数据结构·算法·leetcode
来一碗刘肉面15 小时前
顺序表的按值查找
数据结构·c++·算法
延凡科技15 小时前
延凡科技 - 发生器设备管理控制系统:AI 驱动的全生命周期智能管控方案
大数据·数据结构·人工智能·算法
小肝一下17 小时前
2. 顺序表和链表
c语言·数据结构·c++·链表·dijkstra·依蕾娜·香香的依蕾娜