|
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
|
||||||
Перегрузка оператора индексации для связанного списка07.01.2013, 15:54. Показов 7172. Ответов 8
Метки нет (Все метки)
Доброго времени суток!
Требуется перегрузить оператор индексации для связанного списка, я так понимаю в роли списка должны выступать структура или класс... Причем перегруженный оператор должен возвращать заданный элемент связанного списка. Но как реализовать не могу понять... Например, есть класс студент:
0
|
||||||
| 07.01.2013, 15:54 | |
|
Ответы с готовыми решениями:
8
Перегрузка оператора индексации для класса плохо себя ведёт
Перегрузка оператора индексации |
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 07.01.2013, 16:05 | |
|
Ммм... Для начала попробуйте написать сам связный список.
0
|
|
|
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
|
||||||
| 07.01.2013, 17:20 [ТС] | ||||||
|
~OhMyGodSoLong~, нашел в инете пример связанного списка, добавил перегрузку и вот что получилось:
0
|
||||||
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 07.01.2013, 17:33 | |
|
А разве принцип не виден в самом начале? Список состоит из узлов (нод), в каждом узле хранятся некоторые данные и ссылка на один и более узлов (связь с другими узлами, поэтому и связный список). Вот и весь принцип.
Если связь одна, то это односвязный список. Если две, то двусвязный. Имея на руках один элемент списка, мы может получить доступ только к тем, с которыми он связан. Отсюда и некоторые неудобства с индексацией. С другой стороны, использование ссылок позволяет гибко управлять структурой списка: локальные изменения структуры (вставки-удаления отдельных узлов) изменяют только соседей этих узлов, но не весь список. Если вообще почитать, то берите любую книжку по структурам данных. Ту же одноимённую Ахо, Ульмана и Хопкрофта. И по индексации. Подумайте над двумя вопросами: 1) как вернуть данные из найденного узла, а не печатать его сразу же (вдруг там прибавить 10 к нему надо будет или ещё что), другие же функции могут возвращать значения, да? 2) что делать, если индекс отрицательный или слишком большой (что узлов не хватит).
1
|
|
|
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
|
|
| 07.01.2013, 21:40 [ТС] | |
|
~OhMyGodSoLong~, спасибо, принцип я понял
буду дальше разбираться)Добавлено через 4 часа 3 минуты ~OhMyGodSoLong~, у меня возник еще вопрос, а как удалять элемент из списка? например в функцию передается номер удаляемого элемента...
0
|
|
|
~ Эврика! ~
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
|
|
| 07.01.2013, 22:15 | |
|
Я тут недавно рисовал картинку. Только вам, естественно, надо найти нужный по номеру, а не хранимому значению. Для двусвязного списка немного проще (там до предыдущего ж можно добраться сразу).
0
|
|
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
||||||
| 07.01.2013, 22:17 | ||||||
|
Вот пример как можно удалять конкретный элемент из списка, функция delet, удаляет третий элемент.
1
|
||||||
|
381 / 352 / 113
Регистрация: 17.05.2012
Сообщений: 1,049
|
||||||
| 08.01.2013, 15:51 [ТС] | ||||||
|
David Sylva, но Ваша функция не работает если удаляемый элемент стоит первым в списке, я сделал дополнительное условие, и все работает
![]()
1
|
||||||
|
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
|
|
| 08.01.2013, 15:56 | |
|
yoghurt92 спасибо не учёл фактор первого элемента.
0
|
|
| 08.01.2013, 15:56 | |
|
Помогаю со студенческими работами здесь
9
Перегрузка оператора индексации Перегрузка оператора индексации [] Перегрузка оператора индексации []
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: при создании документов установить период списания автоматически. . .
|
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2.
Задача: вывести данные из ТЧ нетипового документа. . .
|
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению.
На форме документа создается. . .
|
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
|
|
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
|
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
|
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию.
2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|