您的位置:逆风者 数据结构 正文
原作者:www.upwinder.com 添加时间:2007-09-02 原文发表:2007-08-31 人气:5 来源:未知

教学目的: 掌握串的定义及作用

教学重点: 串的类型定义

教学难点: 串的类型定义

授课内容:

一、串定义

逆风编程技术

串(或字符串),是由零个或多个字符组成的有限序列。一般记为:

s='a1a2...an'(n>=0)

其中s是串的名,用单引号括起来的字符序列是串的值;串中字符的数目n称为串的长度。零个字符的串称为空串,它的长度为零。

串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。通常称字符在序列中的称为该字符在串中的位置。子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。

例:a='BEI',b='JING',c='BEIJING',d='BEI JING'

串长分别为3,4,7,8,且a,b都是c,d的子串。

称两个串是相等的,当且仅当这两个串的值相等。

二、串的抽象数据类型的定义:

ADT String{

数据对象:D={ai|ai(-CharacterSet,i=1,2,...,n,n>=0}

数据关系:R1={<ai-1,ai>|ai-1,ai(-D,i=2,...,n}

基本操作:

StrAssign(&T,chars)

chars是字符常量。生成一个其值等于chars的串T。

StrCopy(&T,S)

串S存在则由串S复制得串T

StrEmpty(S)

串S存在则若S为空串,返回真否则返回假

StrCompare(S,T)

串S和T存在,若S>T,则返回值大于0,若S=T,则返回值=0,若S<T,则返回值<0

StrLength(S)

串S存在返回S的元素个数称为串的长度.

ClearString(&S)

串S存在将S清为空串

Concat(&T,S1,S2)

串S1和S2存在用T返回由S1和S2联接而成的新串

SubString(&Sub,S,pos,len)

串S存在,1<=pos<=StrLength(S)且0<=len<=StrLength(S)-pos 1

Index(S,T,pos)

串S和T存在,T是非空,1<=pos<=StrLength(S),若主串S中存在和串T值相同的子串,则返回它在主串S中第pos个字符之后第一次出现的位置,否则函数值为0

Replace(&S,T,V)

串S,T和V存在,T是非空串,用V替换主串S中出现的所有与T相等的不重叠的子串

StrInsert(&S,pos,T)

串S和T存在,1<=pos<=StrLength(S) 1,在串S的第pos个字符之前插入串T

StrDelete(&S,pos,len)

串S存在,1<=pos<=StrLength(S)-len 1从串中删除第pos个字符起长度为len的子串

DestroyString(&S)

串S存在,则串S被销毁

}ADT String

三、串操作应用举例:

1文字处理中常用的:串的查找(比较,定位)与替换

在TC集成环境中可用^QF快速查找变量 在WORD中可用搜索与替换批量改变文本

2串的截断与连接

可用求子串及串连接的方法进行文字处理

四、总结

找出几个自己亲自做过的串操作例子。

相关文章

数据结构教程 第二十三课 二叉树的存储结构
C语言完成一个学生成绩管理程序
数据结构教程 第二十九课 静态查找表(一)
数据结构教程 第十三课 队列
数据结构教程 第四课 算法效率的度量和存储
数据结构教程 第二十七课 实验六 二叉树实验
数据结构教程 第十九课 实验四 串的实现实验
数据结构教程 第三十五课 实验七 查找
数据结构教程 第三课 算法及算法设计要求
数据结构教程 第九课 循环链表与双向链表
数据结构教程 第三十九课 索引文件
五子棋算法
数据结构教程 第一课 数据结构的基本概念和
数据结构教程 第三十三课 哈希表(二)
数据结构教程 第十七课 实验三:栈的表示与
数据结构教程 第八课 线性表的链式表示与实
数据结构教程 第十五课 串的表示和实现
数据结构教程 第三十四课 插入排序,快速排
数据结构教程 第十八课 数组的顺序表示与实
数据结构教程 第七课 实验一 线性表的顺序存

相关评论


本文章所属分类:首页 数据结构
 

  热门关键字: