
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.5] |
![]() |
|
Страницы: (117) « Первая ... 29 30 [31] 32 33 ... 116 117 ( Перейти к последнему сообщению ) |
Сообщ.
#451
,
|
|
|
это ты у мсявок спроси. они же кнопки создавали ![]() ![]() |
![]() |
Сообщ.
#452
,
|
|
методику или пример кода предложить можешь? откликнемся
|
Сообщ.
#453
,
|
|
|
И что предлагаешь бенчмаркить? ![]() |
Сообщ.
#454
,
|
|
|
archimed7592 - сможешь реализовать простейшую задачу, которая в
PHP выполняется одной функцией? Задача простая: удалить повторящиеся текстовые строки из большого тектового массива.. в строк этак под 100 тысяч. ![]() |
![]() |
Сообщ.
#455
,
|
|
n0p, во-первых, мы здесь про дельфи vs с++ говорим, во-вторых, формализуй(уточни) условие и поехали...
|
Сообщ.
#456
,
|
|
|
archimed7592 - ну вот! в первую очередь подобными показательными выступлениями, нехило показать превосходство nativ'ных языков над интерпретируемыми
![]() |
![]() |
Сообщ.
#457
,
|
|
n0p, формализуй условие, или скажи о какой php-фунции ты говоришь...
Добавлено Цитата n0p @ думаю, что native-ф-ция из php по быстродействию не уступит твоей реализации на delphi нехило показать превосходство nativ'ных языков над интерпретируемыми ![]() ![]() |
Сообщ.
#458
,
|
|
|
Цитата archimed7592 @ методику или пример кода предложить можешь? откликнемся Цитата Мяут @ И что предлагаешь бенчмаркить? ![]() О, деловой разговор! У меня даже есть одна интересная комплексная идея. Сейчас опишу. |
Сообщ.
#459
,
|
|
|
Цитата n0p @ archimed7592 - сможешь реализовать простейшую задачу, которая в Тестовые данные приложи, плз... Добавлено Цитата Smike @ О, деловой разговор! У меня даже есть одна интересная комплексная идея. Сейчас опишу. Давай. |
![]() |
Сообщ.
#460
,
|
|
Цитата n0p @ archimed7592 - сможешь реализовать простейшую задачу, которая в PHP выполняется одной функцией? Задача простая: удалить повторящиеся текстовые строки из большого тектового массива.. в строк этак под 100 тысяч. ![]() ![]() ![]() #include <cstddef> #include <istream> #include <ostream> #include <iostream> #include <string> #include <set> #include <iterator> #include <algorithm> class getline_iterator : public std::iterator < std::input_iterator_tag, std::string > { std::istream *stream; std::string value; public: getline_iterator () : stream (NULL) { } getline_iterator (std::istream &stream) : stream (&stream) { std::getline (*this->stream, value); } bool operator == (const getline_iterator &rhs) const { return stream->eof (); } bool operator != (const getline_iterator &rhs) const { return !operator == (rhs); } const std::string &operator * () const { return value; } getline_iterator &operator ++ () { std::getline (*stream, value); return *this; } getline_iterator operator ++ (int) { getline_iterator temp (*this); operator ++ (); return temp; } const std::string* operator ->() const { return &value; } }; void produce (std::istream &sin, std::ostream &sout) { typedef std::set < std::string > container; container c ((getline_iterator (sin)), (getline_iterator ())); std::copy( c.begin (), c.end(), std::ostream_iterator < std::string > (sout, "\n")); } int main () { produce (std::cin, std::cout); return 0; } |
Сообщ.
#461
,
|
|
|
В общем идея такая. Есть список строк с разделителями, например:
![]() ![]() Категория1;Подкатегория1;Элемент1 Категория1;Подкатегория1;Элемент2 Категория1;Подкатегория1;Элемент3 Категория1;Подкатегория2;Элемент1 Категория1;Подкатегория2;Элемент2 Категория1;Подкатегория3;Элемент1 Категория2;Подкатегория1;Элемент1 Категория2;Подкатегория1;Элемент2 Категория3;Подкатегория1;Элемент1 Категория3;Подкатегория2;Элемент1 Задача: отпарсить заданный файл списка и вывести в другой файл в виде дерева: ![]() ![]() Категория1 Подкатегория1 Элемент1 Элемент2 Элемент3 Подкатегория2 Элемент1 Элемент2 Подкатегория3 Элемент1 Категория2 Подкатегория1 Элемент1 Элемент2 Категория3 Подкатегория1 Элемент1 Подкатегория1 Элемент2 Пока можно потренироваться на приведенном мной фрагменте, но для бенчмарков приведу более крупный фрагмент текста. Таким образом мы протестируем и работу со строками, и строковые контейнеры. Главное условие: не использовать строки с завершающим нулем, только STL::string и Delphi.AnsiString. Ну что, идет? |
![]() |
Сообщ.
#462
,
|
|
дерево - табуляции?
могут ли подкатегории чередоваться (1,1,2,2,3,3,1,3,3,2), фиксировано ли кол-во вложенностией(3 в данном случае)? имеет ли значение порядок вывода? |
Сообщ.
#463
,
|
|
|
Цитата archimed7592 @ дерево - табуляции? 2 пробела Цитата archimed7592 @ могут ли подкатегории чередоваться (1,1,2,2,3,3,1,3,3,2) Естественно, список категорий, подкатегорий и элементов идет в произвольном порядке, то есть может быть как я привел, а может быть и: ![]() ![]() Категория3;Подкатегория2;Элемент1 Категория1;Подкатегория1;Элемент1 Категория1;Подкатегория1;Элемент2 Категория2;Подкатегория1;Элемент1 Категория1;Подкатегория2;Элемент1 Категория1;Подкатегория2;Элемент2 Категория1;Подкатегория3;Элемент1 Категория2;Подкатегория1;Элемент2 Категория3;Подкатегория1;Элемент1 Категория1;Подкатегория1;Элемент3 и даже хуже ![]() Количество вложенностей - 3. Хотя, если хочется, можно сделать и неограниченное ![]() Цитата archimed7592 @ имеет ли значение порядок вывода? О, в качестве дополнительного условия могу предложить сделать опциональную возможность сортировки дерева при выводе в конечный файл. По-моему было бы интересно сравнить результаты в случае использования упорядоченных и неупорядоченных списков. |
Сообщ.
#464
,
|
|
|
Итак, жду пожеланий и предложений, после этого пишу окончательные условия и даем старт!
|
![]() |
Сообщ.
#465
,
|
|
т. е. на каждой строчке ровно по N токенов, разделённых ';' без доп. случаев аля
"Категория3bla-bla; sdkljf sdf s ";Подкатегория2;Элемент1 ?? под порядком вывода я имел ввиду обязательно ли группировать данные? но и за это уточнение спасибо ![]() |