Нижеприведенный список является моей небольшой коллекцией примеров кода на языке С, которые не являются корректными с точки зрения языка С++ или имеют какое-то специфичное именно для языка С поведение. (Именно в эту сторону: С код, являющийся некорректным с точки зрения С++.)
Рубрика «list»
Элементы языка С, которые являются неподдерживаемыми в языке С++
2022-08-02 в 3:15, admin, рубрики: C, c++, compatibility, curiosity, difference, listРазработка под Android. Немного о быстрой работе со списками
2018-09-23 в 10:50, admin, рубрики: adapter, android, databinding, jetpack, jetpack sdk, kotlin, list, lists, recyclerview, template, templates, Проектирование и рефакторинг, разработка мобильных приложений, Разработка под androidВсем привет! Мои посты — желание помочь в работе с какими-то элементами Android. Если вы разработчик, который еще не сформировал для себя алгоритм для построения списков — вам может оказаться полезным почитать этот материал. В основном, я бы хотел предлагать готовые решения для разработки, раскрывая в ходе повествования какие-то мысли о том, как я до них докатился к этому пришел.
В этой статье:
- формируем несколько базовых классов и интерфейсов для работы с RecyclerView и RecyclerView.Adapter
- подключим одну библиотеку из Android Jetpack (по желанию, сначала без нее)
- для еще более быстрой разработки — вариант темплейта в конце статьи ;)
Оптимизации, используемые в Python: список и кортеж
2018-07-22 в 13:27, admin, рубрики: cpython, list, python, tuple, ПрограммированиеВ Python, есть два похожих типа — список (list) и кортеж (tuple). Самая известная разница между ними состоит в том, что кортежи неизменяемы.
Вы не можете изменить объекты в tuple:
>>> a = (1,2,3)
>>> a[0] = 10
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
Но вы можете модифицировать изменяемые объекты внутри кортежа:
>>> b = (1,[1,2,3],3)
>>> b[1]
[1, 2, 3]
>>> b[1].append(4)
>>> b
(1, [1, 2, 3, 4], 3)
Что будет если объединить ArrayList и LinkedList?
2018-04-05 в 16:36, admin, рубрики: arraylist, collections, java, java core, list, nkedlist, скорость работы, список, сравнение, структуры данныхПриветствую вас!
После изучения коллекций, а именно такие реализации List
, как ArrayList
и LinkedList
, возникла идея, а почему бы не объединить эти структуры данных в одну и посмотреть, что из этого получится.
Зачем это нужно?
- Проблема
ArrayList
— у него есть начальный размер по умолчаниюDEFAULT_CAPACITY
или заданный размерinitialCapacity
, при превышении этого размера, создается новый массив большего размера, при этом туда копируются данные из старого массива, что по времени очень затратно и именно это дает в наихудшем случае алгоритмическую сложностьO(n)
- Проблема
LinkedList
— здесь наоборот, добавить новый элемент, это всего лишь добавить новую связь (создать еще однуNode
и добавить ссылку на неё), но операция получения элемента по индексу очень затратна, т.к. нужно будет пройтись по всему списку от начала, что очень затратно и даетO(n)
Решение
Что если создать такую структуру данных, при которой вставка и получение любого элемента будет за константное время. Буду использовать технологию ArrayList
без пересоздания массива, что конечно же проигрывает по памяти, но выигрывает в скорости, т.к. память дешевая и её очень много, выигрыш в производительности считаю приоритетным.
Для того чтобы связать их между собой, буду использовать двусвязный список:
Функторы (глава книги «Теория категорий для программистов»)
2016-07-07 в 7:32, admin, рубрики: c++, fmap, haskell, list, maybe, reader, математика, теория категорий, теория категорий для программистов, функторы, функциональное программирование, метки: теория категорий, теория категорий для программистов, функторыЭто седьмая статья из цикла «Теория категорий для программистов». Предыдущие статьи уже публиковались на Хабре:
- Теория категорий для программистов: предисловие
- Категория: суть композиции
- Типы и функции
- Категории, большие и малые
- Категории Клейсли
- Произведения и копроизведения
- Простые алгебраические типы данных
Функторы
За понятием функтора стоит очень простая, но мощная идея (как бы заезжено это ни прозвучало). Просто теория категорий полна простых и мощных идей. Функтор есть отображение между категориями. Пусть даны две категории C и D, а функтор F отображает объекты из C в объекты из D — это функция над объектами. Если a — это объект из C, то будем обозначать его образ из D как F a (без скобок). Но ведь категория — это не только объекты, но еще и соединяющие их морфизмы. Функтор также отображает и морфизмы — это функция над морфизмами. Но морфизмы отображаются не как попало, а так, чтобы сохранять связи. А именно, если морфизм f из C связывает объект a с объектом b,
f :: a -> b
то образ f в D, F f, связывает образ a с образом b:
F f :: F a -> F b
(Надеемся, что такая смесь математических обозначений и синтаксиса Haskell понятна читателю. Мы не будем писать скобки, применяя функторы к объектам или морфизмам.)
Великолепная девятка IT авторитетов LinkedIn по версии CIO
2015-08-16 в 23:13, admin, рубрики: LinkedIn influencer, list, веб-аналитика, ещё один список, Карьера в IT-индустрии, Медиа, метки: LinkedIn influencerУчитывая тот факт, что на LinkedIn зарегистрировано более 380 миллионов человек, довольно трудно отделить мух от котлет. Представляю вам список из девяти человек, являющихся одними из самых активных и уважаемых пользователей LinkedIn в технологической отрасли.
LinkedIn по заказу CIO недавно прочесал базы своих пользователей, чтобы определить наиболее активных и влиятельных пользователей работающих в IT-индустрии. Так как из всей базы можно было бы составить список выходящий далеко за тысячу участников, его решили ограничить регулярностью постов, нативностью английского и согласием участника. Таким образом и был сформирован список. Вообще у всяких списков есть свои плюсы, хотя многие их не очень то жалуют. Мне, например, частенько везет и я нахожу в списках различных интересных персонажей, которых просто так не найти. Ну что же, приступим.
Читать полностью »
Сравнение скорости работы ArrayList и LinkedList на практике
2014-08-19 в 9:09, admin, рубрики: collections, java, list, скорость работы, список, сравнение, структуры данныхПриветствую Вас!
ArrayList и LinkedList — знают все. В каких ситуациях работает быстро, а в какой ситуации работает медленной тот или другой список — знают тоже все, кто в теории, а кто на практике. Данный пост подходит для тех, кто только начинает изучать Java, или кто слышал, о том «что быстрее», но не видел на практике.
Читать полностью »