Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330

Наследование в структурах данных

21.03.2021, 00:50. Показов 673. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть своя реализация двустороннего списка. Уместно ли реализовывать Stack и Queue наследуясь от списка? Вопрос именно про уместность со стороны ООП. Работать то такая реализация будет, но тут возник спор, правильно ли так делать. Решил задать вопрос еще тут
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.03.2021, 00:50
Ответы с готовыми решениями:

О структурах данных в Java
Добрый день, уважаемые. Прошу не пинать сильно, я новичок в java, пересаживаюсь с perl'а. Мне необходимо построить древовидную...

Хранение данных в древовидных структурах
Необходимо хранить данные(объекты - ну например 'закладки') в виде дерева (например как в IE). Каким образом можно организовать: 1....

Выравнивание данных в структурах
Есть такая структура: #include <iostream> struct SomeStruct { int n1; char c1; short n2;

7
 Аватар для Tavashi
1172 / 762 / 194
Регистрация: 21.05.2016
Сообщений: 1,858
21.03.2021, 02:10
Цитата Сообщение от StepFather322 Посмотреть сообщение
реализовывать Stack
Stack не интерфейс.
Цитата Сообщение от StepFather322 Посмотреть сообщение
наследуясь от списка
"You should avoid implementation inheritance whenever possible" (c) J.Gosling
Цитата Сообщение от StepFather322 Посмотреть сообщение
но тут возник спор,
Кто-то из тех, кому "откройте жарко" всегда супротив кому-то из тех, кому "закройте дует".
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
21.03.2021, 11:43  [ТС]
Цитата Сообщение от Tavashi Посмотреть сообщение
Stack не интерфейс.
В моем случае - интерфейс. Это как бы учебное задание.
Цитата Сообщение от Tavashi Посмотреть сообщение
"You should avoid implementation inheritance whenever possible" (c) J.Gosling
Я честно говоря до твоего сообщения и моего похода в гугл не знал кто этот мужик. Да и после того как узнал ничего особо не поменялось. Цитата крутая конечно, но хотелось бы более развернуто узнать почему он или кто то еще так считает.
Цитата Сообщение от Tavashi Посмотреть сообщение
Кто-то из тех, кому "откройте жарко" всегда супротив кому-то из тех, кому "закройте дует".
На что ты этим намекаешь - я не понял. Я задал вопрос тут, чтобы услышать мнение других людей и подискутировать возможно
2
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.03.2021, 12:28
Цитата Сообщение от StepFather322 Посмотреть сообщение
Уместно ли реализовывать Stack и Queue наследуясь от списка?
Почему нет? Если двусторонний (список), то можешь вообще реализовать интерфейс Deque (двусторонная очередь): Deque - он реализует контракт как Stack, так и Queue.
NB: Deque.peek() - возвращает нулевой элемент, т. е. добавление в Stack происходит в начало очереди (двусторонней).
/upd
Тут, конечно, вопрос целесообразности: в основном, как Stack, так и Queue разумнее всего реализовывать на ArrayList (динамическом массиве).
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
21.03.2021, 14:05  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
разумнее всего реализовывать на ArrayList
Это да. Ну двусторонний список, он тоже, можно сказать, динамический
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.03.2021, 14:09
Цитата Сообщение от StepFather322 Посмотреть сообщение
Ну двусторонний список, он тоже, можно сказать, динамический
Двусторонний список к динамическому массиву никак не относится. Это две совершенно разные структуры данных.
0
 Аватар для StepFather322
365 / 252 / 113
Регистрация: 07.10.2017
Сообщений: 1,330
21.03.2021, 14:14  [ТС]
Цитата Сообщение от Arsegg Посмотреть сообщение
Двусторонний список к динамическому массиву никак не относится
Прочитал определение динамического массива на википедии. Список нельзя назвать динамическим массивом, потому что там не используется массив в реализации? Я думал, что динамическим массивом можно назвать структуру данных, размер которой изменяется по мере добавления в нее объектов, что собственно и предоставляет список.
0
3582 / 2182 / 571
Регистрация: 02.09.2015
Сообщений: 5,510
21.03.2021, 14:24
Цитата Сообщение от StepFather322 Посмотреть сообщение
Я думал, что динамическим массивом можно назвать структуру данных, размер которой изменяется по мере добавления в нее объектов, что собственно и предоставляет список.
Ключевое слово: массив. И вопрос терминологии мало относится к обсуждаемой теме.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.03.2021, 14:24
Помогаю со студенческими работами здесь

Алгоритмы на структурах данных
Интересует такой вопрос: Какие задачи можно решить, применяя такие структуры данных, как список (1-, 2- направленный), стек, очередь. ...

Хранение данных в динамических структурах
Помоготи переделать этот код так, чтобы сохранение данных было в динамических структурах. #include <stdlib.h> #include...

Где почитать о динамических структурах данных
Дайте ссылку на книгу где доходчиво объясняются темы (С++) : 1.Динамические структуры данных 2.Односвязный и двусвязный список

Работа с очередью на статических структурах данных
Помогите разобраться с задачей. Условие таково: Каpдинал Ришелье обнаpужил очеpедной заговоp. Число заговоpщиков - ...

Процедурный тип в динамических структурах данных
Возникла проблема с куском проги: этот кусок (процедура) должен осуществлять "самостоятельное" (пользователем) перемещение по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru