[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 24 | 2 | 5
Назад Вниз Каталог Обновить

Списки Аноним 21/05/16 Суб 13:07:00  749168  
14638252208590.png (4Кб, 400x108)
Народ. Поясните мне за списки. Вот тут (https://tproger.ru/translations/linked-list-for-beginners/) написано, что "В то время, как односвязный список позволяет добавлять элементы только в конец, используя двусвязный список мы можем добавлять элементы как в начало, так и в конец". А с фига ли нельзя добавлять в односвязном в начало, если у меня есть указатель head и я могу просто создать ноду, к next присвоить ноду, которая head, а потом просто за head считать ту самую новую ноду?
Аноним 21/05/16 Суб 13:11:52  749178
Меньше читай даунские сайты.
Аноним 21/05/16 Суб 13:12:54  749181
>>749178
Где нормально почитать?
Аноним 21/05/16 Суб 13:14:15  749184
>>749178
http://www.tutorialspoint.com/data_structures_algorithms/linked_lists_algorithm.htm

вот тут чётко вижу, что в списках первый элемент вообще данных не содержит.
Аноним 21/05/16 Суб 13:15:23  749186
>>749168 (OP)
Ты все правильно понял. Можно.
Аноним 21/05/16 Суб 13:16:07  749188
>>749184
Какой первый элемент, наркоман? Это ссылка на первую ноду.
Аноним 21/05/16 Суб 13:17:08  749190
>>749188
ну, т.е. если каждая нода, это структура с двумя полями, то ссылка на первую ноду это что хоть?

я запутался, немножко.
Аноним 21/05/16 Суб 13:21:21  749194
14638260819460.jpg (24Кб, 565x496)
Вот этот head это что вообще? просто там в коде это вот так.

//insert link at the first location
void insertFirst(int key, int data){
//create a link
struct node link = (struct node) malloc(sizeof(struct node));
link->key = key;
link->data = data;

//point it to old first node
link->next = head;

//point first to new first node
head = link;
}

т.е. это просто переменная, которая есть head? Я просто сначала принял это за отдельный элемент. лол. И не понимал зачем это.
Аноним 21/05/16 Суб 13:22:21  749195
>>749190
Это ссылка на ноду, наркоман.
Аноним 21/05/16 Суб 13:23:13  749196
>>749194
Да, это ссылка/указатель на первую ноду. Тебе же надо как-то к ней обращаться.
Аноним 21/05/16 Суб 13:23:58  749197
>>749190
это либо пустой указатель на звено, либо указатель на указатель на звено
Аноним 21/05/16 Суб 13:24:10  749198
>>749196
понял. спасибо.

http://www.tutorialspoint.com/data_structures_algorithms/linked_lists_algorithm.htm

вот тут мне нравится.
Аноним 21/05/16 Суб 13:25:06  749199
>>749196
А это... Мне надо вот ещё стек реализовать. Я так понимаю, я никак односвязный не могу заюзать для хранения данных в стеке?(( Просто нет у меня такого задания "сделать двусвязный список". Я вот и как-то хочу обойти этот момент, чтобы мне лишних вопросов не задали.
Аноним 21/05/16 Суб 13:31:23  749206
>>749199
Соображалку включи. В связный список ты всегде добавляешь элементы в начало (перед первой нодой, как ты уже догадался, а не как у тебя в первой ссылке). Первый элемент легко можно и удалить: просто переставляем указатель на первый элемент (о ктором ты спрашивал как о пустой ноде) на второй элемент - ура ты выкинул последний элемент котторый добавил. Вот и весь стек.
Аноним 21/05/16 Суб 13:33:11  749207
>>749206
ой, точно!
Блин. соображалка не работает никогда(((
Аноним 21/05/16 Суб 14:09:14  749247
>>749181
Кормен.
Аноним 21/05/16 Суб 14:13:35  749250
>>749206
а вот хуй, можно и в конец добавлять
Аноним 21/05/16 Суб 14:18:23  749253
>>749250
А удалять?
Аноним 21/05/16 Суб 14:23:16  749255
>>749253
в цикле же
Аноним 21/05/16 Суб 14:25:47  749258
>>749255
но это будет не за О(1)
Аноним 21/05/16 Суб 14:28:47  749263
>>749258
да и похуй, скажи лучше нахуя нужен список где самый ранний узел является последним?
Аноним 21/05/16 Суб 14:30:22  749266
>>749263
Просто реализовать алгоритм на нём и всё.
Аноним 21/05/16 Суб 14:31:39  749268
>>749266
ясно, какаято хуета вконец оторванная от жизни
Аноним 21/05/16 Суб 14:33:54  749270
>>749268
ну, а что ты предлагаешь?
Аноним 21/05/16 Суб 14:38:04  749275
>>749270
>В то время, как односвязный список позволяет добавлять элементы только в конец
не быть автору столь категоричным

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 24 | 2 | 5
Назад Вверх Каталог Обновить

Топ тредов