Re[4]: Асемблер
От: glyph  
Дата: 24.06.04 13:32
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, glyph, Вы писали:


G>> Зачем так?


А>"Так" быстрее

Уверен?

G>> Прощелкиваем всю строку. Запоминаем в массив номера позиций, в которой стоят пробелы. В конце цикла пишем в массив последним элементом длину строки. Затем находим попарные разности между элементами полученного массива и записываем рядом (все можно сделать в одном цикле). К примеру, получим что-то такое:


А>Гмм. А зачем это? В предыдущем решении все находится за один проход, а тут массивы какие то.

А тут что, 10? Тут тоже все в одном цикле. В моем случае ты получишь длины всех слов и их положения внутри подстроки. В варианте Dr_Sh0k — самой длинной.
А>И потом где эти массивы находятся? Если в стэке или секции данных то вопрос а хватит ли их размера,
А>если в куче то надо еще ее выделять/освобождать.
А>Может ну его?
Однозначно этот массив потребует места меньше чем, твоя строка.

А если внимательно прочитать оба поста, то станет ясным, что алгоритм одинаковый, просто я предлагаю подсчитывать длину слова не итерациями, а как разность между старым значением указателя на пробел и текущим. Ну, и итерирование по строке можно делать по stos. Или тебя вообще интересует мой вариант кода?
d Unknown Artist — Mano8703 d
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.