knuth_morris_pratt.c

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:23.0
disk size 343 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
/* Knuth-Morris-Pratt string searching */
int nondet();

int knuth_morris_pratt(int n, int m)
{
  int i = 0, j = 0, k = -1;

  while (i < n)
  {
    while (j >= 0 && nondet()>0 ) {
       k = nondet();
       if (k <= 0) return 0;
       if (k >0) return 0;
       j -= k;
    }
    i++, j++;
    if (j == m)
        break;
  }
  return i;
}

popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark