|
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 10
|
|
Описать функцию, удаляющую из списка каждый второй элемент13.12.2016, 20:12. Показов 6774. Ответов 43
Метки нет (Все метки)
0
|
|
| 13.12.2016, 20:12 | |
|
Ответы с готовыми решениями:
43
Описать функцию, удаляющую из списка элементы в определенной последовательности |
| 22.12.2016, 23:31 | |
|
0
|
|
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||||
| 22.12.2016, 23:36 | |||||
|
0
|
|||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|
| 22.12.2016, 23:41 | |
|
2
|
|
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|
| 22.12.2016, 23:42 | |
|
0
|
|
|
Заблокирован
|
||||
| 22.12.2016, 23:43 | ||||
|
http://erlang.org/doc/programm... sions.html имхо, трудно для восприятия непосвященных.
0
|
||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
||||
| 22.12.2016, 23:45 | ||||
|
Добавлено через 1 минуту
1
|
||||
|
Злой няш
2136 / 1505 / 565
Регистрация: 05.04.2010
Сообщений: 2,881
|
|||
| 22.12.2016, 23:58 | |||
|
Добавлено через 59 секунд
0
|
|||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||||
| 23.12.2016, 11:00 | |||||||||
после этого конечно можно было дальше не читать, но я все же поясню. не надо требовать от языка то для чего он не предназначен. f# всегда четко позиционировался как язык для обработки данных и поддержка в VS на уровне позиционирования языка вполне достаточная. а гуевые свистелки-перделки для мышевозов всегда рекомендовали делать на с#. далее. вот в c# нет ADT, от слова совсем, - торжественно объявим его неязыком? а тайппровайдерах в c# даже не мечтают. так что проблема то не в языках а в оценщиках типа JetBrains
на самом деле оверблюд достаточно уникален. если чтото там нет изначально, это не значит, что это не появится в батарейках. там лисп можно встроить не то что какой то List Comprehension https://github.com/cakeplus/pa_comprehension/ Добавлено через 3 часа 10 минут ps хе... ссылку на camlp4 то я и не приметил/ Добавлено через 1 минуту ладно. один черт фешарпный List Comprehension на из окамла растет
0
|
|||||||||
|
Модератор
|
||||||
| 23.12.2016, 22:11 | ||||||
|
Тривиальное решение.
0
|
||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
||||||||
| 23.12.2016, 22:20 | ||||||||
1
|
||||||||
|
Модератор
|
|||
| 23.12.2016, 22:28 | |||
|
0
|
|||
| 24.12.2016, 04:28 | |
|
Лесник в эту тему уже заглядывал, сейчас очередь Капитана Очевидности
![]() Сабжевая задача про то, как из списка выделить подсписок по определенному критерию. То есть, говоря в общем, абстракция filter или (чуть отдаленнее) map. Для определенности останемся в рамках иммутабельности и оставим за кадром возможности некоторых функциональных языков деструктивно изменять список при пробежке по нему (set-car | set-cdr или как оно там называется). Из очевидных решений реализации этих функций в рамках библиотеки (а не в ядре самого языка) видится 3 варианта: 1) вышеприведенный рекурсивный без аккумулятора. Сохраняет порядок элементов в списке, в принципе работает на бесконечных списках-потоках (с кучей оговорок на стек, ленивую/строгую семантику, реализацию самих ленивых структур и т.п.), в наивной реализации при строгой семантике жрет стек потому что не хвостовой вызов. 2) вариант с накоплением результата в аккумуляторе. Реверсирует порядок элементов (для половины задач использования списков это вполне допустимо), не работает на бесконечных списках, не жрет стек при наличии ТСО в ядре языка. 3) вариант 2 с последующим реверсом результата - со всеми особенностями варианта 2 плюс вторая пробежка по списку. Я год назад накостылил свой строгий функциональный язык, реализацию интерпретатора. И в стандартную библиотеку мне конечно потребовались и map и filter. Сначала я их реализовал по варианту 1. Но поскольку реализация интерпретатора была на Java, то я ловил стековерфлоу уже на списках порядка нескольких сотен элементов (в Java очень маленький стек выделяемый по умолчанию на поток, его можно увеличить ключами запуска приложения, но все равно кардинально не решает проблему). Потом я реализовал в ядре интерпретатора ТСО и переписал эти библиотечные функции по варианту 3. Стало работать чуть медленнее (за счет финального реверса результата), но стек не переполнялся на любых размерах списков. (Потоковые аналоги этих функций для бесконечных ленивых списков конечно остались в варианте 1). Потом я написал второй эвалюатор интерпретатора (рядом с первым, можно в ГУЕ выставлять флажок каким эвалюатором считать), который был нерекурсивный и использовал собственный навелосипеденный стек (с точки зрения Java размещающийся в куче). Стало раза в полтора медленнее, но никаких стековерфлоу ни на каких задачах от слова ваще! Я бы переписал обратно библиотечные мапы и фильтры на реализации без аккумуляторов, если бы ради фана не оставил возможность юзеру выбирать эвалюатор. Хотя может допустимым решением было бы влепить в библиотеку все 3 версии каждой (!) списковой функции. Но я то (на правах создателя этого безобразия и концепции) знаю чем они отличаются и когда какую надо применять, а объяснить это начинающим имхо было бы нетривиально ![]() Я, собственно, к чему это все. Реализуя подобные функции, по-хорошему стоит знать, в какой семантике абстрактной (или конкретной) виртуальной машины они будут жить и работать А то может и циклами надо писать, как говорит уважаемый pycture, или же покатит и лобовой безаккумуляторный вариант 1, если под капотом хаскель или мой итеративный эвалюатор.ЗЫ однажды на хабре кто-то написал статью про понятие котоморфизма применительно к практике. Но кота (морфирующего) писал на F#, на примере общей функции свертки дерева по любой сверточной функции. Так автор специально вместо наивного рекурсивного решения свертки применил технику то ли трамплинов, то ли еще чего-то (сейчас уже и не помню, но можно найти статью и посмотреть) - для того, чтобы перенести вычисления со стека в кучу и избежать стековерфлоу. А вы говорите язык для обработки данных и суровой правды реальной жизни вместо фантазийноролевых игр Но это я шучу, я вроде не настолько идиот
1
|
|
|
Модератор
|
|||||||||||
| 24.12.2016, 09:33 | |||||||||||
|
Хвостовой без реверса результата
Добавлено через 9 минут Aха, вот как.
0
|
|||||||||||
|
Заблокирован
|
|
| 24.12.2016, 12:38 | |
|
KolodeznyDiver,
@ <- очень дорогостоящая операция
1
|
|
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|||||||
| 24.12.2016, 16:58 | |||||||
|
https://en.wikibooks.org/wiki/... sing_Style (+монады) хотя там и не так заметно. выглядеть будет грубо так
1
|
|||||||
|
Модератор
|
|||||||||||
| 24.12.2016, 19:50 | |||||||||||
|
pycture, axa, а потом
0
|
|||||||||||
|
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
|
|
| 24.12.2016, 20:00 | |
|
0
|
|
| 24.12.2016, 20:20 | |
|
Ага, типа нагребатор цепочки отложенных вычислений в куче из-за строгой семантики... https://habrahabr.ru/post/57503/
0
|
|
|
Модератор
|
||
| 24.12.2016, 21:54 | ||
|
Добавлено через 1 час 1 минуту Не по теме: ... аха. Ну иак и есть. Вроде, разобрался.
0
|
||
| 24.12.2016, 21:54 | |
|
Помогаю со студенческими работами здесь
40
Удалить из списка каждый второй элемент Удалить каждый второй элемент из списка
Из заданного списка удалить каждый второй элемент Из созданного списка удалить каждый второй элемент Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|