5月15日(链串中截取子串和BF算法)

BF算法属于一种蛮力算法,用来查找子串在串中的位置。

// 截取子串
int getsstring(linkstr *s,char ch[],int k,int n){
    linkstr *sl;
    sl = s;
    if(k<0 || n<0) return -1;
    for(int i = 0; i<k ;i++){
        sl = sl->next;
    }
    for(int j; j<n; j++){
        ch[j] = sl->ch;
        sl = sl->next;
    }
    return 1;
}

//串的模式匹配(BF算法)
int stringBF(linkstr *s1,linkstr *s2,linkstr *s3){
    linkstr *sl,*s,*st,*slt;
    slt = s1;
    st = s2;
    while(sl->next != NULL){
        sl = slt;
        s = st;
        while(s->next->next != NULL){
            if(s->ch != sl->ch) break;
            else{
                s = s->next;
                sl = sl->next;
                if(s == NULL){
                    s3 = st;
                    return 1;
                }
            }
        }
        slt = slt->next;
    }
    return -1;
}

原文地址:https://www.cnblogs.com/L1Gd0ng/p/10872976.html

时间: 2024-10-03 02:15:23

5月15日(链串中截取子串和BF算法)的相关文章

六周第一次课(1月15日) 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下

六周第一次课(1月15日)9.1 正则介绍_grep上9.2 grep中9.3 grep下 在计算机科学中,对"正则表达式" 的定义是:它使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.在很多文本编辑器或其他工具里,正则表达式通常用来检索和替换那些符合某个模式的文本内容.许多程序设计语言也都支持利用正则表达式进行字符串操作.对于系统管理员来讲,正则表达式贯穿在我们的日常运维工作中,无论是查找某个文档,还是查询某个日志文件并分析其容,都会用到正则表达式.其实正则表达式只是一种思

从头到尾彻底理解KMP(2014年8月15日版)

从头到尾彻底理解KMP 作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进. 1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱,如此,留言也是"骂声"一片.所以一直想找机会重新写下KMP,但苦于一直以来对KMP的理解始终不够,故才迟迟没有修改本文. 然近期因在北京开了个算法班,专门讲解数据结构.面试.算法,才再次仔细回顾了这个KMP,在综合了一些网友的理解.

9月15日,YTFCloud,创业圈的技术新宠

成都创业圈近期什么最热? 资本复苏?这本来就是高低起伏规律而已,再说动辄千万的大手笔,对于创业新人.新团队来说太遥远,早期根本无法变现,而资金紧张.项目开发费用超标.没有技术大牛保障等尖锐现实问题能否快速解决,这才是关键! 不是切实能帮助创业者的热点,难道真能算热点? 真正的热点--9月15日,YTFCloud内测开启,帮助没钱没技术的创业者,不但快速打造自己的专属App,还可以拿到相关产品的源码. 这将真正推动并兴起新一轮的创业热潮. 什么是YTFCloud? YTFCloud是由猿团科技推出

10月15日模拟赛题解

10月15日模拟赛题解 A 树 Description 给定一棵 \(n\) 个节点的树,每个节点有两个参数 \(a,~b\),对于每个节点,求子树中参数为 \(b\) 的所有节点的 \(a\) 之和 Limitations \(100\%\) \(1 \leq b \leq n \leq 10^5,~a \leq 1000\) \(60\%\) \(1 \leq b,n\leq 1000\) \(30\%\) \(1 \leq b, n \leq 10\) Solution 对于 \(30\%

2017年 1月 15日 指针 学习整理

有关指针的概念: 指针是一个特殊的变量,它里面存储的数值被解释为内存里的一个地址. FIrst of all:我们需要明确目标 关于指针的学习以及使用我们需要搞清楚有关指针的四个内容:指针的类型,指针所指向的类型,指针的值(或者说叫指针所指向的内存区),还有指针本身所占用的内存区(指针也是一个特殊的变量吗,它肯定也是占据内存的).接下来让我们分别进行学习. 我们先来申明几个指针的例子: 1 int *ptr; 2 char *ptr; 3 int **ptr; 4 int (*ptr)[3];

软考信息系统监理师,2016年3月15日作业

软考信息系统监理师,2016年3月15日作业: 第一章:监理基础 1.目前我国信息服务管理包括哪四个方面措施? 答: (1) 计算机信息系统集成单位资质管理 (2) 信息系统项目经理资格管理 (3) 信息系统工程监理单位资质管理 (4) 信息系统工程监理人员资格管理 2.什么是信息系统工程? 答: 信息化工程建设中的信息网络系统.信息资源系统.信息运用系统的新建.升级.改造工程 3.什么是四控三管一协调? 答: 四控"指信息系统工程的质量控制.进度控制.投资控制.变更控制: "三控&q

软考信息系统监理师,2016年3月15日作业(冬青子)

软考信息系统监理师,2016年3月15日(冬青子)作业: 第一章:监理基础1.目前我国信息服务管理包括哪四个方面措施? 答:一是计算机信息系统集成单位资质管理: 二是信息系统项目经理资格管理: 三是信息系统工程监理单位资质管理: 四是信息系统工程监理人员资格管理.2.什么是信息系统工程? 答:是指信息化工程建设中的信息网络系统.信息资源系统.信息运用系统的新建.升级.改造工程.3.什么是"四控三管一协调"? 答:"四控"指信息系统工程的质量控制.进度控制.投资控制.

软考信息系统监理师2016年3月15日作业

2016年3月15日作业: 第一章:监理基础 1.目前我国信息服务管理包括哪四个方面措施? 答:计算机信息系统集成单位资质管理 信息系统项目经理资格管理 信息系统工程监理单位资质管理 信息系统工程监理人员资格管理 2.什么是信息系统工程? 答:信息系统工程是指信息化工程建设中的信息网络系统.信息资源系统.信息应用系统的新建.升级.改造工程. 3.什么是四控三管一协调? 答:四控指:质量控制.进度控制.投资控制.变更控制 三管:信息管理.合同管理.安全管理 一协调:在信息系统工程实施过程中协调有关

2016年3月15日作业:

2016年3月15日作业:第一章:监理基础1.目前我国信息服务管理包括哪四个方面措施? 答: 计算机信息系统集成单位资质管理 信息系统项目经理资格管理 信息系统工程监理单位资质管理 信息系统工程监理人员资格管理2.什么是信息系统工程? 信息系统工程是指信息化建设过程中的信息网络系统.信息资源系统.信息应用系统的新建.升级.改造的工程3.什么是四控三管一协调? 质量控制.进度控制.投资控制.变更控制 合同管理.安全管理.信息管理 工程协调4.监理工作程序包括哪8条?(常考顺序) 选择监理单位.签订