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

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

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

总结:

相关推荐
yuannl1034 分钟前
数据结构----双端队列实现
数据结构
无限进步_1 小时前
【C++】只出现一次的数字 II:位运算的三种解法深度解析
数据结构·c++·ide·windows·git·算法·leetcode
qq_454245031 小时前
通用引用管理框架
数据结构·架构·c#
lcj25112 小时前
【C语言】数据在内存中的存储
c语言·数据结构
旖-旎2 小时前
哈希表(字母异位次分组)(5)
数据结构·c++·算法·leetcode·哈希算法·散列表
paeamecium4 小时前
【PAT甲级真题】- All Roads Lead to Rome (30)
数据结构·c++·算法·pat考试·pat
PD我是你的真爱粉4 小时前
Redis 数据类型与底层实现:从 SDS、Quicklist 到 ZSet 跳表彻底讲透
数据结构·redis
汀、人工智能4 小时前
[特殊字符] 第100课:任务调度器
数据结构·算法·数据库架构·贪心··任务调度器
会编程的土豆5 小时前
日常做题 vlog
数据结构·c++·算法
旖-旎6 小时前
哈希表(存在重复元素||)(4)
数据结构·c++·算法·leetcode·哈希算法·散列表