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

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

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

总结:

相关推荐
DowneyJoy3 分钟前
【Unity3D补充知识点】常用数据结构分析-数组(Array)
数据结构·unity·c#
程序员zgh34 分钟前
C++ 环形队列 从原理到实例演示
c语言·开发语言·数据结构·c++·学习
Trouvaille ~39 分钟前
【优选算法篇】拓扑排序——逻辑先后与任务依赖的终极拆解
数据结构·c++·算法·leetcode·青少年编程·蓝桥杯·拓扑学
CylMK1 小时前
题解:UVA1218 完美的服务 Perfect Service
数据结构·c++·算法·深度优先·图论
丶小鱼丶1 小时前
数据结构和算法之【阻塞队列】上篇
java·数据结构
zs宝来了1 小时前
Redis 数据结构底层实现:intset、ziplist、skiplist 深度剖析
数据结构·redis·源码解析·skiplist·ziplist·intset
liuyao_xianhui2 小时前
优选算法_topk问题_快速排序算法_堆_C++
java·开发语言·数据结构·c++·算法·链表·排序算法
菜菜小狗的学习笔记2 小时前
剑指Offer算法题(十)排序
数据结构
handsomethefirst2 小时前
【算法与数据结构】【面试经典150题】【题36-题40】
数据结构·算法·面试
不知名的老吴2 小时前
深刻理解“程序 = 算法 + 数据结构”
数据结构