![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Kurt |
|
||||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Вот, спросили такую задачку, а я сразу и ответить не смог..
Народ, как бы вы реализовали кольцевой список на C#? Чтоб можно было вставлять элемент в кольцо? Указателей-то нет. Я сделал через такой класс:
А потом вот так заполнял:
А как бы сделали вы? Есть ли стандартное решение? -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
||||
|
|||||
Domestic Cat |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
Посмотри реализацию LinkedList в Java, разницы особой не должно быть. Потом, по-моему System.Collections.Queue реализована тоже как список, не уверен.
-------------------- |
|||
|
||||
-ser- |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 5 Всего: 13 |
задачка на тему, как с помощью современного компьютера эмулировать работу Большой Вычислительной Машины образца 80 года.
посмотри IList Interface и, например ArrayList. используя их можно реализовать все что угодно. -------------------- "Тонкая, однако, работа." |
|||
|
||||
Domestic Cat |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
![]()
"Использовать" интерфейсы невозможно, их можно имплементировать. Интерфейсы задают интерфейс и более ничего, вся логика пишется программистом. ArrayList конечно можно пользовать, вообще можно пользовать и массив и обычную реализацию - когда каждая нода содержит ссылку на следующую (или еще и на предыдущую, если двойной лист). Вот реализация на Java (сорри, но на шарпе не нашел). Думаю переделать будет практически нечего http://vinci.cs.uiowa.edu/~segre/22c021/Ci...rList.java.html http://vinci.cs.uiowa.edu/~segre/22c021/Si...ement.java.html -------------------- |
||||
|
|||||
nikf |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 127 Регистрация: 6.6.2005 Где: город-герой Жирно вск Репутация: нет Всего: 1 |
![]() а два : все классы (ссылочные типы) являются указателями. хоть и не называются таковыми.. так что большинство переменных - какраз указатели.. короче в шарпе все делается так же как в плю-плюсе только проще Это сообщение отредактировал(а) nikf - 20.6.2005, 21:37 |
|||
|
||||
Kurt |
|
|||
Увлеченный ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1662 Регистрация: 22.8.2003 Где: Краснодар Репутация: 20 Всего: 36 |
Собственно, на основе этого замечания и работает мой код в первом посте - просто я ищу способ реализовать это покрасивше.. -------------------- Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед) ... Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн) |
|||
|
||||
-ser- |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 344 Регистрация: 1.2.2005 Репутация: 5 Всего: 13 |
-------------------- "Тонкая, однако, работа." |
||||
|
|||||
Domestic Cat |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5452 Регистрация: 3.5.2004 Где: Dallas, US Репутация: 9 Всего: 172 |
Ну и что?
Вообще-то в System.Collections набор далеко не исчерпывающий - это раз. Во-вторых, списки являются коллекциями, обладающими определенными свойствами, отличными от свойств хештейбла, стека, очереди и проч. Они часто используются сами по себе, а также с их помощью реализуют другие структуры данных. Сомневаюсь, чтобы они были придуманы раньше массивов. -------------------- |
||||
|
|||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |