- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数据结构中的串
数据结构与应用 内容简介 教材目录 第4章 串 4.1.1 串的基本概念 4.1.2 串的基本操作 4.1.3 常用的C++字符串函数 4.2.1 顺序串 4.2.3 模式匹配 设有两个字符串T和pat,子串定位就是要在串T中查找是否有与串pat相等的子串。 通常称串T为目标串(target string),称pat为模式串(pattern string)。 子串定位也称为模式匹配 (pattern matching)。 BF算法: sf4_6.cpp 4.3 串的链式存储结构 串的链式存储结构简称为链串,其组织形式与一般的链表类似。 链串与单链表的差异仅在于其结点的数据域为单个字符,这样链串中的一个结点可以存储一个字符,也可以存储多个字符。 结点大小为4的链串: 结点大小为1的链串: 4.4 串的应用 4.4.1 问题描述 输入一个不含空格的单词,统计输出该单词在指定文本文件中出现的次数。 4.4.2 算法的设计与实现 判断一个字符串中是否含有某个单词 统计文本文件中单词数 马石安 魏文平 编著 本教材采用面向对象的观点讨论数据结构技术,并以C++类模板作为算法描述工具。 教材在简要回顾C++程序设计概念的基础上,全面系统地介绍了线性表、栈和队列、串、数组和广义表、树和二叉树及图等数据结构,讨论了常用的查找和排序技术,对每一种数据结构,除了详细阐述其逻辑结构、存储结构和相关算法外,还对所有算法进行了C++语言实现和评价,并给出了应用实例。 教材附录给出了上机实验内容。 第0章 C++程序设计语言预备知识 0.1 一个简单C++语言程序 0.2 指针与引用 0.3 动态存贮分配 0.4 函数 0.5 类与对象 0.6 运算符重载 0.7 模板 第1章 绪论 1.1 数据结构的产生和发展 1.2 数据结构研究的内容 1.3 基本概念和术语 1.4 算法 第2章 线性表 2.1 线性表的逻辑结构 2.2 线性表的顺序存储结构 2.3 线性表的链式存储结构 2.4 顺序表和链表的比较 2.5 线性表的应用 第3章 栈和队列 3.1 栈 3.2 队列 3.3 栈的应用 第4章 串 4.1 串的逻辑结构 4.2 串的顺序存储结构 4.3 串的链式存储结构 4.4 串的应用 第5章 数组和广义表 5.1 数组 5.2 矩阵的压缩存储 5.3 广义表 5.4 多维数组的应用 第6章 树和二叉树 6.1 树的逻辑结构 6.2 树的顺序存储结构 6.3 二叉树的逻辑结构 6.4 二叉树的存储结构 6.5 线索二叉树 6.6 树、森林与二叉树的转换 6.7 树的应用 第7章 图 7.1 图的逻辑结构 7.2 图的存储结构 7.3 图的遍历 7.4 生成树和最小生成树 7.5 最短路径 7.6 DAG图及其应用 第8章 排序 8.1 概述 8.2 插入排序 8.3 交换排序 8.4 选择排序 8.5 归并排序 8.6 基数排序 8.7 各种内排序方法的比较和选择 第9章 查找 9.1 概述 9.2 线性表的查找 9.3 树表的查找 9.4 散列表的查找 附录 实验内容 4.1 串的逻辑结构 4.2 串的顺序存储结构 4.3 串的链式存储结构 本章主要内容 4.4 串的应用 4.1 串的逻辑结构 串定义 串(string)是由零个或多个字符组成的字符序列。 空串和空白串 长度为零的串称为空串,通常记为φ,它不包含任何字符。仅由一个或多个空格组成的串称为空白串。 子串和主串 串中任意个连续字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。 串变量和串常量 通常在程序中使用的串可分为串变量和串常量。串变量和其他类型的变量一样,其取值是可以改变的。串常量和整常数、实常数一样,在程序中只能被引用但不能被修改,即只能读不能写。 串比较与串相等 串的比较是按照对应字符的ASCII码进行的。当且仅当两个串的长度及对应字符都相等时,两个串相等。 Create():初始化串。建立一个空串。 Destroy():撤销一个串。 Length():求当前串对象的长度。 Assign(s):赋值操作。串s的值赋给当前串对象。 Concat(b):字符串连接运算。将串b连接在当前串对象之后。 Insert(p,i):插入操作。将串p插在当前串对象的位置i处。 Delete(i,len):删除运算。从当前串对象的位置i起删除len个字符。 Substring(i,len):求子串。返回当前串对象中,从位置i开始的len个字符组成的子串。 Compare(s):串比较。若当前串对象的值等于s,函数返回值为0;若当前串对象的值小于s,返回值0; 若当前串对象的值大于s,返回值0
您可能关注的文档
最近下载
- 党员“一带一”活动J计划、实施方案及协议书4.doc VIP
- 05G511:梯形钢屋架 国标图集.pdf VIP
- 东北电力大学2022-2023学年《数据结构》期末考试试卷(A卷)附参考答案.docx
- 2022年广州工商学院退役军人综合考察真题.pdf
- 05-G511 梯形钢屋架 标准图集.pdf VIP
- 成人住院患者静脉血栓栓塞症的预防护理-中华护理学会团体标准2023.pptx
- 线下沙龙策划方案.docx VIP
- 2023年浙江中医药大学数据科学与大数据技术专业《数据库原理》科目期末试卷A(有答案).docx VIP
- 设计说明书(履带式行走底盘).pdf
- 2024华医网继续教育脑卒中的全面康复题库答案.docx VIP
文档评论(0)