串的简单模式匹配_第1页
串的简单模式匹配_第2页
串的简单模式匹配_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、/*  *                    串的简单模式匹配                  * */ #include <stdio.h>#incl

2、ude <stdlib.h>/* 定义单链表结构体 */struct node    char ch;    struct node *next;/* 初始化单链表 */void init(struct node *h)    *h = (struct node*)malloc(sizeof(struct 

3、node);    (*h)->next = NULL;    return;/* 将x结点插入到链表后 */void append(struct node *p, int x)    struct node *s;    s = (struct node*)malloc(sizeof(str

4、uct node);    s->ch = x;    s->next = NULL;    /* 移动到表尾 */    while (p->next != NULL)            p

5、60;= p->next;            p->next = s;        return;void display(struct node *p)    printf("You typed string is: "

6、);    while (p->next != NULL)            printf("%c", p->next->ch);        p = p->next;       

7、; printf(" ");    return;int main(int argc, char *argv)    struct node *t, *s;    /* s为主串, t为模式串 */    struct node *sNext, *p, *q; 

8、;   int i, x = 0;        init(&s);    printf("Please type main string:  ");    while (x != ' ')     

9、60;      x = getchar();        if (x != ' ')                    append(s, x);  

10、60;     /* 添加到表尾 */                display(s);        init(&t);    printf("Please type substring: &qu

11、ot;);    x = 0;    while (x != ' ')            x = getchar();        if (x != ' ')  

12、                  append(t, x);        /* 添加到表尾 */                display(t

13、);        /* 初始化 */    sNext = s->next;    p = sNext;    q = t->next;    i = 1;       

14、60;    /* 从开始字符进行比较 */    while (p->next != NULL) && (q->next != NULL)            /* 进行匹配检验 */      &

15、#160; if (p->ch = q->ch)                    p = p->next;            q = q->next; &#

16、160;              else                        sNext = sNext->next;     &

17、#160;      p = sNext;        /* 指向主串中的下一个 */            q = t->next;    /* 指针后退重新开始匹配 */   &

18、#160;        i+;        /* 记录位置 */                /* 输出结果 */    if (q->next) = NULL && (t->next->ch = s->next->ch)            printf("match position: %d", i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论