资源简介
初学者刚刚接触Linux时,使用Makefile构建工程,难于上手,此项目为我平时使用的工程整个打包,内含有文件夹 include(存放头文件)src(存放源码) obj(存放生成的.o文件) bin(存放生成可执行文件) 以及整个工程的Makefile。使用者只需要添加自己的源码文件即可,另外在test.c文件中的main函数对其调用即可。
代码片段和文件信息
/****************************************************************************************
>FileName: exercise28.c
>Description:
>Authot: zhangxu
>Date: 2019.04.04
>Version: V0.1
****************************************************************************************/
#include
using namespace std;
/*****************************************************************
> 暴力法
******************************************************************/
int Solution28::strStr(string haystack string needle)
{
int m = haystack.size();
int n = needle.size();
if(0 == m || 0 == n)
{
return -1;
}
for(int i = 0; i < m-n; i++ )
{
int j = 0;
for(j = 0; j < n ; j++)
{
if(haystack[i+j] != needle[j])
{
break;
}
}
if(j == n)
{
return i;
}
}
return -1;
}
/******************************************************************
>KMP方法:原理详细讲解见网址:
>https://blog.csdn.net/yangwangnndd/article/details/89042454
>https://www.cnblogs.com/en-heng/p/5091365.html
******************************************************************/
static int *getNext(string needle)
{
int i j;
int strSize = needle.size();
int *f = new int[strSize];
f[0] = -1;
for( j = 1; j < strSize; j++)
{
for(i = f[j-1]; ; i = f[i])
{
if(needle[j] == needle[i+1])
{
f[j] = i+1;
break;
}
else if(-1 == i)
{
f[j] = -1;
break;
}
}
}
return f;
}
int Solution28::strStr_KMP(string haystack string needle)
{
int i j;
int *f = getNext(needle);
for(i = 0 j = 0; i < haystack.size() && j < needle.size();)
{
if(haystack[i] == needle[j])
{
i++;
j++;
}
else if(0 == j)
{
i++;
}
else
{
j = f[j-1] + 1;
}
}
delete f;
return j == needle.size() ? i - needle.size() : -1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 66440 2019-04-06 09:12 leetcode\bin\test
文件 493 2019-04-06 09:12 leetcode\include\leetcode.h
文件 444 2019-04-06 09:12 leetcode\Makefile
文件 59816 2019-04-06 09:12 leetcode\obj\exercise28.o
文件 59680 2019-04-06 09:12 leetcode\obj\test.o
文件 2341 2019-04-06 09:12 leetcode\src\exercise28.c
文件 599 2019-04-06 09:12 leetcode\src\test.c
目录 0 2019-04-06 09:12 leetcode\bin
目录 0 2019-04-06 09:12 leetcode\include
目录 0 2019-04-06 09:12 leetcode\obj
目录 0 2019-04-06 09:12 leetcode\src
目录 0 2019-04-06 09:12 leetcode
----------- --------- ---------- ----- ----
189813 12
- 上一篇:5种多旅行商问题(MTSP)的遗传算法
- 下一篇:openHEVC-hm10.0
相关资源
- makefile中文手册
- 实验一 嵌入式Linux开发环境的搭建及
- GNU-WIN-MAKE-3.81.rar
- 跟我一起学Makefile.PDF
- cmake-3.11.1 win64x64
- qnx6.4.0源代码 亲测可用含makefile
- 使用Qt Creator作为Linux IDE,实现Redis源
- makefile教程中文版
- 跟我一起写Makefile (PDF重制版)
- 《跟我一起写Makefile.pdf》带书签目录
- caffe的配置文件Makefile.conf
- 手动构建App的Makefile文件
- linux串口编程直接make编译
- 转换ADS1.2项目为makefile
- makefile的详细说明文档
- makefile实验——华农Linux实验8
- Caffe编译的配置文件Makefile.config环境:
- How to Write makefile.pdf
- 多文件夹下编写Makefile
- linux 实用makefile
- 基于socket的聊天工具源码包含Makefil
- Makefile_test2.tar.gz
- 跟我一起写makefileepub版
- linux makefile 编写 规则 编译多个文件
- 跟我一起写 Makefile
- GNU Make 使用手册 --- 中文版,于凤昌
评论
共有 条评论