串的模式匹配(3)

2019-07-30 13:07

3、抽象数据类型串的定义

ADT String{

数据对象:D={ai| ai ∈CharacterSet,i=1,2,?,n,n≥0} 数据关系:R1={| ai-1, ai ∈ D,i=2,?,n} 基本操作:

StrAssign(&T,chars)

初始条件:chars是字符串常量。

操作结果:生成一个其值等于chars的串T。 StrCompare(S,T)

初始条件:串S和串T存在。

操作结果:若S>T,则返回值>0;若S=T,则返回值=0;若S

操作结果:返回S的元素个数,成为串的长度。 Concat(&T,S1,S2)

初始条件:串S1和串S2存在

操作结果:用T返回串S1和串S2联接成的新串 SubString(&Sub,S,pos,len)

初始条件:串S存在,1≤pos≤Strlength(S)-pos+1。 操作结果:用Sub返回串S的第pos个字符起长度为len的子串。 Index(S,T,pos)

初始条件:串S和串T存在,T是非空串,1≤pos≤Strlength(S)

操作结果:若主串S中存在和串T值相同的子串,则返回它在主串S中第pos个字符之后第一次出现的位置;否则函数值为0。

9

}ADT String

4、函数调用关系

①定长顺序存储表示

GetNext GetNext_val IndexBF IndexKMP1 IndexKMP2 Count lenth StrPP CreateTextFile mandle Reserve main Enter ProgBar() EnterPassword() ② 链式存储表示

strlen ListInseListInsertLine IninLinkList getnext Index printlines main ③登录

ProgBar() Enter() ProgBar() 10

5、主程序调用

void main() {

If(登录成功)

执行接下来的操作;

Else

程序终止;

选择储存方式(1.定长顺序存储 2.单链表存储) If(1) {

do{ 选择相应的功能:

1. 新建文本文件 2.打开文件并匹配; 3.查询历史匹配记录; 0.操作失误,请求退出! case(1): CreateTextFile(); case(2): mandle(); case(3):research();

case(0):退出程序;

}

} If(2) {

do{ 选择相应的功能:

1. 新建文本文件

11

2.打开文件并匹配; 3.查询历史匹配记录; 0.操作失误,请求退出!

}

case(1): CreateTextFile(); case(2): mandle_lianshi(); case(3):research(); case(0):退出程序;

} }

五、详细设计 1、宏定义

①strMSPP.h:

#include

#define MAXSTRLEN 256 //字符串最大容量 #include//getch()函数的头文件 #include//输入和输出函数的头文件 #include//exit函数的头文件 #include//malloc函数的头文件 #include

#define OVERFLOW -2//溢出时的值为-2 #define OK 1 //成功时的值为1 #define ERROR 0 //不成功的值为0

typedef int ElemType;//ElemType为任意的数据类型

12

typedef int Status;

②PATH.H:

#include\#include #include using namespace std;

#define Password \设定密码 char prompt[100];

2、数据元素结构定义

①定长顺序存储表示

typedef struct{

char ch[MAXSTRLEN];//ch是一个可容纳256个字符的字符数组 int length;

}SeqString;//定义顺序串类型

②单链表存储表示

typedef struct Lnode {

ElemType data;//数据域 struct Lnode *next; //指针域 }Lnode,*LinkList;

3、 功能具体实现

⑴ 登录系统

根据窗口下的提示输入密码,输入正确则进入相关操作,当输入错误三次后则程序中断。具体代码实现如下:

DWORD WINAPI ProgBar(LPVOID threadNum);// 函数声明:进度条线程函数

13


串的模式匹配(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:南开14秋学期《办公自动化基础》在线作业答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: