esult « endl; if(result == tru
Автор admin
Понедельник, 1 июня 2009 11:32
esult « endl; if(result == true) break; S3 = s3.substr(0. s3.1ength() – 1); } pair p = mismatch(sl.beginO, sl.endO. s2.beginO); print(p.first. sl.endO, “p.first”, “”); print(p.second, s2.end(). “p.second”,”"); } ///:- Строки si и s2 различаются только прописной буквой «Т» в слове «Test» строки s2. Как и следовало ожидать, при проверке равенства si и si возвращается значение true, a si и s2 не равны из-за отличий в регистре буквы «Т». Чтобы понять результаты тестов lexicographical_compare(), следует помнить две вещи: во-первых, сравнение производится посимвольно, во-вторых, на нашей платформе прописные буквы «предшествуют» строчным. В первом тесте si сравнивается с si. Так как строки точно совпадают, ни одна из них не меньше другой по лексикографическому критерию (что проверяется алгоритмом), поэтому результат равен false. Фактически второй тест проверяет, предшествует ли si строке s2. Когда алгоритм добирается до буквы «t» в слове «test», он обнаруживает, что строчная «t» в si «больше» прописной «t» в s2, так что результат снова равен false. Но если проверить, предшес
Комментарии закрыты.
Последние комментарии