ВУЗ:
Составители:
Рубрика:
119
j = Array.IndexOf(s1, s2[0], i);
if (j <= n)
{
found = true;
int k = 0;
while ((k < s2.Length) && found)
{
found = char.Equals(s1[k + j], s2[k]);
k++;
}
}
i = j + 1;
}
if (found) return j;
else return -1;
} //IndexOfStr
В реализации используется метод IndexOf класса Array, позволяющий
найти начало совпадения строк, после чего проверяется совпадение остальных
символов. Реализованный здесь алгоритм является самым очевидным, но
далеко не самым эффективным.
А теперь рассмотрим процедуру, в которой определяются индексы
вхождения символов и подстрок в строку:
public void TestIndexSym()
{
char[ ] str1, str2;
str1 = "рококо".ToCharArray();
//определение вхождения символа
int find, lind;
find = Array.IndexOf(str1, 'о');
lind = Array.LastIndexOf(str1, 'о');
Console.WriteLine("Индексы вхождения о в рококо:{0},{1};", find, lind);
//определение вхождения подстроки
str2 = "рок".ToCharArray();
find = IndexOfStr(str1, str2);
Console.WriteLine("Индекс первого вхождения рок в рококо:{0}", find);
str2 = "око".ToCharArray();
find = IndexOfStr(str1, str2);
Console.WriteLine("Индекс первого вхождения око в рококо:{0}", find);
} //TestIndexSym
В этой процедуре вначале используются стандартные методы класса Array
для определения индексов вхождения символа в строку, а затем созданный
метод IndexOfStr для определения индекса первого вхождения подстроки.
Страницы
- « первая
- ‹ предыдущая
- …
- 113
- 114
- 115
- 116
- 117
- …
- следующая ›
- последняя »