192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
1 | |
Немного о списках13.09.2017, 20:10. Показов 1454. Ответов 19
Метки нет (Все метки)
Нужно реализовать класс список но я даже не работал со списками а тут надо класс написать. Я знаю что у списков нет индексов а связаны они между собой ссылкой друг на друга. Ну это всё что я знаю. В общем мне нужен хороший ресурс на эту тему может книгу какую - нибудь посоветуете, сам весь инет облазил но ничего нужного для меня не нашел
Добавлено через 3 минуты Мне нужно почитать о всех структурах данных такие как Stack, queue, dqueue и т д
0
|
13.09.2017, 20:10 | |
Ответы с готовыми решениями:
19
Немного о списках Ошибка в списках Очередь в списках Ошибка в списках |
13.09.2017, 20:33 | 2 | |||||
no swear,
1
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
13.09.2017, 20:43 [ТС] | 3 |
Я всегда видел что при работе со списками используется вроде указатель Next указывающий на следующий элемент списка
Ещё нам препод дал такую картинку. Там есть index, val, next. val это значение которое хранится в списке, next указатель указывающий на следующий элемент а зачем index нужен?
0
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
14.09.2017, 20:27 [ТС] | 4 |
Я сказал что-то глупое? почему тема умерла?
0
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
14.09.2017, 20:51 [ТС] | 6 |
Спасибо огромное за этот код но я бы хотел сам реализовать этот класс в более так сказать расширенном виде и мне нужен не только класс список мне нужны другие структуры данных Stack, queue, dqueue и т д. Книга какая - нибудь или ресурс чтобы почитать об этом. Я сам всё перерыл но ничего не нашел по этому вопросу
0
|
Неэпический
|
|
14.09.2017, 20:57 | 7 |
А кто ж его знает? Вам виднее.
Списки бывают разные. На форуме, кстати, есть реализации и списков и стеков и очередей. Почитать можно любую книжку о структурах данных.
1
|
3 / 3 / 0
Регистрация: 05.09.2017
Сообщений: 15
|
|
14.09.2017, 21:31 | 8 |
Может такая схема поможет реализовать список
1
|
3 / 3 / 0
Регистрация: 05.09.2017
Сообщений: 15
|
|||||||||||
15.09.2017, 01:51 | 9 | ||||||||||
Файл List.h:
Основной файл:
1
|
70 / 70 / 35
Регистрация: 06.07.2016
Сообщений: 415
|
|
15.09.2017, 12:40 | 10 |
no swear,
1."Структуры данных и алгоритмы", Ахо. (Примеры на языке Паскаль) 2."Как программировать на С++", Дейтелы. (Примеры на Си) 3."Алгоритмы на С++", Сэджвик.
1
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||||||
17.09.2017, 11:22 [ТС] | 11 | |||||
У меня появилось пару вопросов по поводу указателя *Next и *Head. Код с одного сайта взял
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
|
|
17.09.2017, 12:58 | 12 |
Next сохраняет только адрес следующего элемента.
А Next следующего элемента сохраняет адрес еще следующего. И так далее.
1
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
17.09.2017, 13:36 [ТС] | 13 |
Когда список пустой указатель *Next = NULL? А когда добавляем 1 элемент указатель *Next до сих пор равен NULL и когда добавляем 2 элемент указатель *Next принимает адрес значения второго элемента?
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
|
|
17.09.2017, 13:52 | 14 |
Нет, первого.
0 элементов: head = NULL 1 элемент: head = elem1 ; elem1=(data1; next = NULL); 2 элемента: head = elem2; elem2=(data2; next = *elem1) ; elem1=(data1; next = NULL); 3 элемента: head = elem3; elem3=(data3; next = *elem2) ; elem2=(data2; next = elem1) ; elem1=(data1; next = NULL);
1
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||||||
17.09.2017, 14:11 [ТС] | 15 | |||||
data что это? А обязательно объявлять отдельную структуру для хранение узлов списка? или можно обойтись одним классом?
Добавлено через 7 минут Я вот написал что - то своё, простенькое, вроде работает
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
|
|
17.09.2017, 14:12 | 16 |
data это любые данные. Не заводить же список ради него самого.
Одним классом вряд ли выйдет. Впрочем, никто не мешает попробовать.
1
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
|
17.09.2017, 15:16 [ТС] | 17 |
А что если взять указатель *next и *head не как тип структуры который мы объявили а как тип int например?
0
|
3881 / 2479 / 418
Регистрация: 09.09.2017
Сообщений: 10,888
|
|
17.09.2017, 16:26 | 18 |
как он тогда будет указывать на другие объекты в куче?
1
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||||||
17.09.2017, 19:19 [ТС] | 19 | |||||
Поэтому он и должен быть пользовательского типа? Т. е. тип мы ему сами задаём в структуре или в классе чтобы он отличал "своего от чужого"?
Добавлено через 1 час 34 минуты Вот что у меня получилось. Написал Шаблонный односвязный список, буду рад критике и любым замечаниям.
И всё равно я не до конца понимаю весь смысл списка
0
|
192 / 166 / 82
Регистрация: 01.07.2016
Сообщений: 943
|
||||||
19.09.2017, 19:47 [ТС] | 20 | |||||
Шаблонный двусвязный список (Код на Builder 6)
0
|
19.09.2017, 19:47 | |
19.09.2017, 19:47 | |
Помогаю со студенческими работами здесь
20
Освобождение памяти в списках Литература о Связаные списках Нужно найти ошибку в списках Работа циклов динамических списках Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |