当前位置: 首页 > news >正文

数据结构(超详细讲解!!)第十九节 块链串及串的应用

1.定义

  由于串也是一种线性表,因此也可以采用链式存储。由于串的特殊性(每个元素只有一个字符),在具体实现时,每个结点既可以存放一个字符,也可以存放多个字符。每个结点称为块,整个链表称为块链结构,为了便于操作,再增加一个尾指针。块链结构可定义如下:

#define  BLOCK --SIZE  <每个结点存放的字符个数>
typedef struct Block{
   char               ch[BLOCK#--SIZE]; 
   struct Block   *next;
} Block;
typedef struct { 
Block   *head; 
Block   *tail; 
int     length;
} BLString; 

2.串的应用:文本编辑

 文本编辑程序用于源程序的输入和修改,公文书信、报刊和书籍的编辑排版等。常用的文本编辑程序有Edit、WPS、 Word等。文本编辑的实质是修改字符数据的形式和格式, 虽然各个文本编辑程序的功能不同,但基本操作是一样的, 都包括串的查找、插入和删除等。 为了编辑方便,可以用分页符和换行符将文本分为若干页,每页有若干行。我们把文本当作一个字符串,称为文本串,页是文本串的子串,行是页的子串。

 我们采用堆存储结构来存储文本,同时设立页指针、行指针和字符指针,分别指向当前操作的页、行和字符,同时建立页表和行表存储每一页、每一行的起始位置和长度。

例:

假设有如下PASCAL源程序:

FUNC max(x, y: integer): integer;
VAR z: integer;
BEGIN
   IF x>y THEN z: =x; 
   ELSE z: =y; 
   RETURN(z);
END; 

相关文章:

  • OpenFeign的简单介绍和功能实操
  • 62. 不同路径
  • MySQL8.0安装
  • selenium爬虫——以爬取澎湃新闻某搜索结果为例
  • Java模块化应用实践之精简JRE | 京东云技术团队
  • 刷题笔记day08-字符串01
  • 高阶导数与微积分
  • 【python练习】输出字符串的出现次数最多的前三字符,未通过检测
  • 042-第三代软件开发-485通信
  • ubuntu(18.04)中架设HiGlass docker镜像服务,已尝试mcool、bedpe、wig格式文件
  • 最新Ai智能创作系统源码V3.0,AI绘画系统/支持GPT联网提问/支持Prompt应用+搭建部署教程
  • 爬虫之爬虫介绍、requests模块、携带请求参数、url 编码和解码、携带请求头
  • elementUI树节点全选,反选,半选状态
  • 设计模式之观察者模式
  • oracle (9)Storage Relationship Strut
  • 【Linux】虚拟机部署与发布J2EE项目(Linux版本)
  • 解锁AI语言模型的秘密武器 - 提示工程
  • 知心早安问候语,愿你享受美好的时光,幸福快乐每一天
  • 计算机网络第4章-网络层(1)
  • 用逻辑分析仪观察串口Uart数据波形
  • 哪些网站是用wordpress搭建的/seo推广优化公司哪家好
  • 中国建设银行培训网站/每日新闻摘要30条
  • 市住房和城乡建设委员会官方网站/seo工作
  • 打电话沟通做网站/百度一下一下你就知道
  • 超市建网站/简易网站制作
  • 做财务需要关注哪些网站/seo流量的提升的软件