C语言数据结构——串的定义及抽象数据类型
1、串是由一个或多个字符组成的有序数列,又叫字符串。
2、空格串是只包含空格的串,有长度有内容,而且可以不止一个空格。
3、子串与主串,串中任意个数的连续字符组成的子序列称为该串的子串,相应的包含子串的串称为主串,子串子啊主串中的位置就是子串第一个字符在主串中的位置。(例如:ove是over的子串)
4、串得到基本操作
StrAssign(&T,chars) //生成一个其值等于chars的串T
StrCopy(&T,S) //由串S复制得到串T
StrEmpty(S) //若串为空串返回TRUE否则返回FALSE
StrLength(S) //返回s的元素个数称为串的长度
StrCompare(S,T) // S>T 返回 >0 ; S=T ,返回 =0 ; S<T 返回 <0
ClearString(&S) //将串S清空
SubString(&Sub,S,pos,len) //用sub返回串S的第pos个字符起长度为len的子串
Index(S,T,pos) // 若子串中存在和串T值相同的子串,则返回它在主串中第pos个字符之后第一次出现的位置 ;否则函数值为0
Replace(&S,T,V) //用V替换串S中出现的所有与T相等的不重叠的子串
StrInsert(&S,pos,T) //在串S的第pos个字符之前插入串T
StrDelete(&S,pos,len) //从串S中删除从第pos个字符起出长度为len的子串
DestroyString(&S) //串S被销毁
C语言数据结构——串的定义及抽象数据类型相关推荐
- 数据结构的基本概念和抽象数据类型
1.基本概念和术语 数据:是对客观事物的符号表示. 数据元素:数据的基本单位,一个数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位 数据对象:性质相同的数据元素的集合是数据的一个子集 数 ...
- 大话数据结构 -07-1 图的定义、抽象数据类型与存储结构
1. 定义 在图结构中,结点之间的关系可以是任意的,图中任意两个数据元素之间都可能相关. 2. 与线性表.树结构的区别 3. 相关定义 (1)无向.有向 与图边或者弧相关的数字叫做权(Weight), ...
- python @修饰符_数据结构与算法之8——抽象数据类型与python类
就算你是特别聪明,也要学习,从头学起!--(俄国)屠格涅夫 本篇文章要说的主要是数据结构与算法和python中关于类(Class)以及异常(Error)的一些基础,虽然很简单,但是必须非常重视.只有在 ...
- 数据结构13:无序表抽象数据类型(链表)(一)
目录 一.什么是无序表 二.无序表的操作 三.采用链表实现无序表 四.链表实现 1.节点Node 2.无序表unorderedlist 一.什么是无序表 在前面基本数据结构的讨论中,采用python ...
- python数据结构——无序,有序列表抽象数据类型,链表
无序列表支持的操作 List()add(item)remove(item)search(item)#返回布尔值index(item)#返回下标isEmpty()length()append(item) ...
- 数据结构之抽象数据类型(C语言实现)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.概念 二.定义格式 三.具体实现 总结 前言 数据类型是一组性质相同的值的集合以及定义于这个值集合上的一组操作的总 ...
- 复数抽象数据类型C语言,采用C/C++语言如何实现复数抽象数据类型Complex
记录一下! 采用C/C++语言如何实现复数抽象数据类型Complex #include typedef struct Complex { double e1; // 实部 double e2; // ...
- c语言写报告抽象数据类型,C语言抽象数据类型ADT
根据编程的问题匹配合适的数据类型.数据项连接构成了链表,定义了一个结构代表单独的项.设计了一些方法把一系列结构构成一个链表.本质上,我们使用C语言的功能设计了一种符合程序要求的新的数据类型.但是上述的 ...
- 数据结构 串(字符串)与KMP
文章目录 概述.定义 抽象数据类型(ADT, Abstract Data Type) 模式匹配 KMP算法 MP算法 KMP算法对MP算法的改进 C 实现 概述.定义 串(字符串,String)是由零 ...
- 数据结构、数据类型、抽象数据类型之间的区别
三者的定义(蓝字可忽略): 数据结构:是相互之间存在一种或多种特定关系的数据元素的集合,包括逻辑结构和物理结构.(数据元素是最基本的数据单位,最基本的数据元素是一个二进制位.) 逻辑结构指反映数据元素 ...
最新文章
- HDU 1004 Let the Balloon Rise
- ahjesus 创建msdn一样的帮助文档
- 移动设备页面高度不足时min-height 的尴尬处理
- [个人推荐]函数式编程另类指南[zz]
- 草稿django添加自定义模板代码的用法
- Centos7 安装mysql 需要自己下载 rpm
- 7-5 日期问题面向对象设计(聚合二) (40 分)
- Rocketmq技术分享
- 前端基础从头学——VsCode使用教程+html基础(入门篇)
- 奇虎360java面试_2016奇虎360JAVA研发工程师内推笔试题
- Redundant declaration: @SpringBootApplication already applies given @ComponentScan
- 贪心算法——国王游戏(洛谷P1080)
- 关于python数据的纬度_Python插值时间,纬度和经度
- Cent OS 使用nohup 启动 Springboot避坑
- Cadence PSpice中更改Cursor控制的曲线及打印图形Cursor信息的方法
- Hadoop配置—完全分布式
- 各种OOM代码样例及解决方法
- css textarea行数_超级简单:在一个TextArea中如何限制行数和字符数
- 【FPGA入门教程】(二)FPGA学习路线及开发流程
- 浅析云存储技术的原理与架构
热门文章
- 点击树形相应车型,置顶
- 2017年12月20日 内置对象
- 第二章.JSP/Servlet及相关技术详解
- Web自动化测试框架-PO模式
- 关于opencv标定的一些疑问,首先声明这篇文章转载于纸异兽,由于暂时联系不到他本人,只好请教各位了。有些问题想请教,各位大神可以留下联系方式帮我解决,万分感谢...
- SQL Server 2012完全备份、差异备份、事务日志备份和还原操作
- BZOJ 3926: [Zjoi20150]诸神眷顾的幻想乡
- OBD芯片应用开发手册 OBD2开发 内部资料分享 汽车电子通讯开发TDA61 TDA66芯片
- 程序员的基本功是什么?
- anaconda 虚拟环境