LINUX.ORG.RU

История изменений

Исправление bormant, (текущая версия) :

Ну тут, с одной стороны, нарушение явного запрета в условии на тип String, а с другой, в $H+ длинные строки совсем не тот стандартный String[255], что может в разумных пределах ввести «ограничния на длины строк, слов и др.».

Понятно, что изначально цель упражнения была в обучении и понимании работы со списками, с добавлением в начало списка и в конец, в т.ч. с очевидной оптимизацией в виде хранения указателя конца списка в невладеющем указателе (что вызвало странные вопросы у ТС - выходит, цель достигнута пока не полностью). Скажем, в таких целях можно вернуться к списку из String для «слов», что длиннее High(SizeInt), правда практической ценности не добавит, если только как упражнение, да и протестировать такое (добавление второй строки в список по реальному ограничению длины) будет непросто, придётся искусственно ограничивать ;)

Ну и стандартно для задачи достаточно тупого списка блоков, чтобы вычитать строку целиком (возможно, с удалением дублирующихся разделителей на случай «слово 4 ГБ пробелов слово»), и пробежки по ним с конца с выводом по разделителям. Списки «слов» - оверхэд.

Исправление bormant, :

Ну тут, с одной стороны, нарушение явного запрета в условии на тип String, а с другой, в $H+ длинные строки совсем не тот стандартный String[255], что может в разумных пределах ввести «ограничния на длины строк, слов и др.».

Понятно, что изначально цель упражнения была в обучении и понимании работы со списками, с добавлением в начало списка и в конец, в т.ч. с очевидной оптимизацией в виде хранения указателя конца списка в невладеющем указателе (что вызвало странные вопросы у ТС - выходит, цель достигнута пока не полностью). Скажем, в таких целях можно вернуться к списку из String для «слов», что длиннее High(SizeInt), правда практической ценности не добавит, если только как упражнение, да и протестировать такое (добавление второй строки в список по реальному ограничению длины) будет непросто, придётся искусственно ограничивать ;)

Ну и стандартно для задачи достаточно тупого списка блоков, чтобы вычитать строку целиком (возможно, с удалением дублирующихся разделителей), и пробежки по ним с конца с выводом по разделителям. Списки «слов» - оверхэд.

Исходная версия bormant, :

Ну тут, с одной стороны, нарушение явного запрета в условии на тип String, а с другой, в $H+ длинные строки совсем не тот стандартный String[255], что может в разумных пределах ввести «ограничния на длины строк, слов и др.».

Понятно, что изначально цель упражнения была в обучении и понимании работы со списками, с добавлением в начало списка и в конец, в т.ч. с очевидной оптимизацией в виде хранения указателя конца списка в невладеющем указателе (что вызвало странные вопросы у ТС - выходит, цель достигнута пока не полностью). Скажем, в таких целях можно вернуться к списку из String для «слов», что длиннее High(SizeInt), правда практической ценности не добавит, если только как упражнение, да и протестировать такое (добавление второй строки в список по реальному ограничению длины) будет непросто, придётся искусственно ограничивать ;)