18 / 5 / 2
Регистрация: 24.10.2018
Сообщений: 132
|
|||||||||||
1 | |||||||||||
Создать класс обобщённый однонаправленный список05.02.2020, 19:34. Показов 6898. Ответов 9
Метки нет (Все метки)
Создать заданный в варианте обобщенный класс. Определить в классе индексаторы, конструкторы, деструктор, необходимые функции и заданные перегруженные операции. В методах класса для работы с аргументами используйте ref‐ и out‐параметры и операторы is или as, foreach. Используйте обработку исключительных ситуаций.
Класс – однонаправленный список list. Дополнительно перегрузить следующие операции: + – объединить два списка; ‐ – удалить элемент; ==, != – проверка на равенство, неравенство; ~– проверка, пустой ли список
Добавлено через 5 часов 4 минуты Короче,кому интересно,сам додумал,может кому надо будет.(Это ответ):
0
|
05.02.2020, 19:34 | |
Ответы с готовыми решениями:
9
Создать обобщенный класс, содержащий список элементов (List <T>) Создать обобщенный класс прямой на плоскости Обобщенный и не обобщенный класс с одинаковым именем Создать линейный однонаправленный список из целых чисел |
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
|
|||||||||||
05.02.2020, 19:53 | 2 | ||||||||||
Angelosus, это не должно работать
а вообще это не похоже на однонаправленный список
0
|
18 / 5 / 2
Регистрация: 24.10.2018
Сообщений: 132
|
|
05.02.2020, 20:00 [ТС] | 3 |
jester, почему не должно,и так и так работает?Я просто не понял зачем ToList,результат один же/
Добавлено через 1 минуту jester, я же внутри класса создал лист,зачем делать из него лист?Не догоняю/
0
|
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
|
|
05.02.2020, 20:47 | 4 |
Angelosus, у тебя правильно работает сложение?
Union вроде должен создавать новую последовательность а не изменять старую.
0
|
18 / 5 / 2
Регистрация: 24.10.2018
Сообщений: 132
|
|
05.02.2020, 21:13 [ТС] | 5 |
jester, да, типо я создаю объект из двух объектов, обьеденяя их, дальше идёт удаление элемента, потом два сравнения, и проверка на пустоту
0
|
Модератор
|
|
05.02.2020, 21:25 | 6 |
Union - это метод расширения LINQ, а не метод List.
Методы расширения LINQ не изменяют исходные последовательности, а возвращают новые последовательности как результат операции. Вы этот результат ни где не сохраняете, он просто теряется. И по смыслу вы какую-то ерунду делаете. В первую очередь, список - это последовательность, и поэтому она обязательна должна реализовывать интерфейс IEnumerable и метод Add. Это то с чего следует делать любую последовательность. Вы используете List для ОДНОСВЯЗНОЙ (однонаправленной) коллекции. Это не правильно. List реализует полностью интерфейсы IList и ICollection. Односвязный список не должен их реализовывать. На месте вашего преподавателя я не зачёл выполнение задания таким образом. Скорее всего, в задании подразумевается создание кастомного типа для списка и для элемента списка.
0
|
352 / 247 / 76
Регистрация: 18.03.2016
Сообщений: 979
|
|
05.02.2020, 22:17 | 7 |
0
|
Модератор
|
|||||||||||
05.02.2020, 22:50 | 8 | ||||||||||
Angelosus, вот делал когда-то базовый класс для односвязного списка
Добавлено через 6 минут Потому, что IList имеет индесато, а значит можно получить произвольный элемент. А односвязный список подразумевает только возможность последовательного получения элементов. То есть кроме перечислителя возвращаемого методом GetEnumerator() в односвязном списке ничего быть не должно. Иначе это уже не односвязный список.Насчёт ICollection, возможно, погорячился. Думал, там тоже есть метод получения произвольного элемента по индексу.
1
|
Модератор
|
||||||
06.02.2020, 00:57 | 10 | |||||
Чем тогда односвязный список отличается от List<T>?
Тогда бы в задании так и было бы сказано "Определить List<T> с дополнительными методами". Раз в задании написано "Односвязный список", то это и значит "Односвязный список", а не список "List<T>", не массив "T[]" или что-то аналогичное. Дело не в сложности, а в учебном задании. На практике такой односвязный список на фиг ни кому не нужен. Но в таком УЧЕБНОМ задании проверяется навык обучаемого создавать подобные типы, реализовывать, наверное, самый широко используемый интерфейс, типовой инициализатор последовательности и т.д. А что толку от такого кода?
И при чём здесь ОДНОСВЯЗНЫЙ СПИСОК ?
0
|
06.02.2020, 00:57 | |
06.02.2020, 00:57 | |
Помогаю со студенческими работами здесь
10
Обобщенный класс Создать класс Кольцевой однонаправленный список Создать класс, реализующий однонаправленный список на основе одномерного массива Создать класс для работы со стеком, организованным как связный однонаправленный список Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |