LINUX.ORG.RU

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

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

массиве, если его сжать или разжать - указатели слетят.

Никуда они не слетят, надо хранить не сами элементы, а указатели на них. Взятие указателя на ссылку в массиве просто запретить, так же как ты не можешь брать указатель на cdr в cons, ты можешь брать только его значение.

Это вообще не списочный тип данных - а набор однотипных элементов

Если он хранит ссылки на Atom, то там какие угодно элементы могут быть.

массив плохо пригоден для удаления/вставки элементов, а только для добавления в конец

Так же как и список в Lisp, только добавление в конец и возможность индексации это уже огромный прорыв по сравнению с cons.

без дырок

Дырок и в списке нету. Не может быть у тебя в середине (nil . nil), только (nil . cdr), что выражается в терминах Atom** массива как NULL по N индексу.

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

массиве, если его сжать или разжать - указатели слетят.

Никуда они не слетят, надо хранить не сами элементы, а указатели на них. Взятие указателя на ссылку в массиве просто запретить, так же как ты не можешь брать указатель на cdr в cons, ты можешь брать только его значение.

Это вообще не списочный тип данных - а набор однотипных элементов

Если он хранит ссылки на Atom, то там какие угодно элементы могут быть.

массив плохо пригоден для удаления/вставки элементов, а только для добавления в конец

Так же как и список в Lisp, только добавление в конец и возможность индексации это уже огромный прорыв по сравнению с cons.

без дырок

Дырок и в списке нету.

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

массиве, если его сжать или разжать - указатели слетят.

Никуда они не слетят, надо хранить не сами элементы, а указатели на них. Взятие указателя на ссылку в массиве просто запретить, так же как ты не можешь брать указатель на cdr в cons, ты можешь брать только его значение.

Это вообще не списочный тип данных - а набор однотипных элементов

Если он хранит ссылки на Atom, то там какие угодно элементы могут быть.

массив плохо пригоден для удаления/вставки элементов, а только для добавления в конец

Так же как и список в Lisp, только добавление в конец и возможность индексации это уже огромный прорыв по сравнению с cons.

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

массиве, если его сжать или разжать - указатели слетят.

Никуда они не слетят, надо хранить не сами элементы, а указатели на них. Взятие указателя на ссылку в массиве просто запретить, так же как ты не можешь брать указатель на cdr в cons, ты можешь брать только его значение.

массив плохо пригоден для удаления/вставки элементов, а только для добавления в конец

Так же как и список в Lisp, только добавление в конец и возможность индексации это уже огромный прорыв по сравнению с cons.