AdvancedAlgorithms.BigStringSearch.FindTextQuickly C# (CSharp) Method

FindTextQuickly() private static method

private static FindTextQuickly ( string pattern, string text ) : int
pattern string
text string
return int
        private static int FindTextQuickly(string pattern, string text)
        {
            int[] shiftTable = ShiftTable(pattern);

            int i = pattern.Length - 1;
            while (i < text.Length)
            {
                int k = 0;

                while (k < pattern.Length && pattern[pattern.Length - 1 - k] == text[i - k])
                {
                    k++;
                }
                if (k == pattern.Length)
                {
                    return i - pattern.Length + 1;
                }
                else
                {
                    i = i + shiftTable[(int)text[i]];
                }

            }
            return NOT_FOUND;
        }