Skip to content

Commit

Permalink
Add naive search algorithm
Browse files Browse the repository at this point in the history
  • Loading branch information
danghai committed May 10, 2019
1 parent 939cad9 commit 4956500
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions searching/pattern_search/naive_search.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
#include <stdio.h>
#include <string.h>

/* Naive Pattern Search algorithm (brute force way) */
void naive_search(char *str, char *pattern)
{
int len_str = strlen(str);
int len_pat = strlen(pattern);

for(int i = 0; i <= len_str - len_pat; i++)
{
int j;
for(j = 0; j < len_pat; j++)
{
if(str[i + j] != pattern[j])
break;
}
if (j == len_pat)
printf("--Pattern is found at: %d\n", i);
}
}

int main()
{
char str[] = "AABCAB12AFAABCABFFEGABCAB";
char pat1[] = "ABCAB";
char pat2[] = "FFF"; /* not found */
char pat3[] = "CAB";

printf("String test: %s\n", str);
printf("Test1: search pattern %s\n", pat1);
naive_search(str, pat1);
printf("Test2: search pattern %s\n", pat2);
naive_search(str, pat2);
printf("Test3: search pattern %s\n", pat3);
naive_search(str, pat3);
return 0;
}

0 comments on commit 4956500

Please sign in to comment.