实验名称:串的定义,基本操作及模式匹配
实验目的:
掌握这种抽象数据类型的特点;熟练掌握串的顺序存储结构表示和基本操作,并能利用这些基本操作实现串的其他各种操作。
实验要求:
定义串的定长顺序存储结构;实现串赋值,求串长,求子串,串连接,串比较等基本操作,以及简单模式匹配:检索子串在主串中出现的次数及相应的位置。
代码:
分别用两种存储方式实现
串的定长顺序存储实现
//串的定长顺序存储结构
#include
#include
#include
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
#define MAXSTRLEN 255//可在255以内定义最大串长
typedef unsigned char SString[MAXSTRLEN+1];
//0号单元存放串长
//串赋值
Status StrAssign(SString &S,char *chars)
{
int i,j;char *c;
for(i=0,c=chars;*c;++i,++c);
if(i>MAXSTRLEN) return ERROR;
else
{
S[0]=i;
for(j=1;j |