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

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

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

总结:

相关推荐
学嵌入式的小杨同学8 小时前
【嵌入式 C 语言实战】交互式栈管理系统:从功能实现到用户交互全解析
c语言·开发语言·arm开发·数据结构·c++·算法·链表
多米Domi0118 小时前
0x3f 第40天 setnx的分布式锁和redission,写了一天项目书,光背了会儿八股,回溯(单词搜索)
数据结构·算法·leetcode
历程里程碑9 小时前
Linux 3 指令(3):进阶指令:文件查看、资源管理、搜索打包压缩详解
linux·运维·服务器·c语言·数据结构·笔记·算法
一分之二~9 小时前
二叉树--求最小深度(迭代和递归)
数据结构·c++·算法·leetcode·深度优先
wWYy.10 小时前
详解redis(8):数据结构Hash
数据结构·redis·哈希算法
智者知已应修善业10 小时前
【输出一个N*N的01矩阵,表示最后的汉字点阵图】2024-10-22
c语言·数据结构·c++·经验分享·笔记·算法·矩阵
uesowys10 小时前
华为OD算法开发指导-二级索引
数据结构·算法·华为od
Sheep Shaun11 小时前
C++11核心特性详解:从右值引用到现代C++编程
开发语言·数据结构·c++·算法
云深麋鹿12 小时前
三.栈和队列
开发语言·数据结构·c++·算法
Python_Study202512 小时前
工程材料企业如何通过智慧获客软件破解市场困局:方法论、架构与实践
大数据·网络·数据结构·人工智能·架构