История изменений
Исправление 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.