Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кольцевой список?.. реализация на C#?.. 
:(
    Опции темы
Kurt
Дата 20.6.2005, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Вот, спросили такую задачку, а я сразу и ответить не смог..
Народ, как бы вы реализовали кольцевой список на C#? Чтоб можно было вставлять элемент в кольцо? Указателей-то нет.
Я сделал через такой класс:
Код

class MyList //для простоты все public..
{
public int Info; //это значение, к-е хранит список. для простоты взят int
public MyList Next; //это указатель на след. элемент списка
}


А потом вот так заполнял:
Код

MyList list = new MyList();
MyList nextList;
MyList firstList = list;
list.Info = 0;
for(int i=1; i<5; i++) //число 5 - для примера
{
        nextList = new MyList();
        nextList.Info = i; //Info нас сейчас не интересует
        list.Next = nextList;
        list = nextList;
}
list.Next = firstList;


А как бы сделали вы?
Есть ли стандартное решение?


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
Domestic Cat
Дата 20.6.2005, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



Посмотри реализацию LinkedList в Java, разницы особой не должно быть. Потом, по-моему System.Collections.Queue реализована тоже как список, не уверен.


--------------------

PM   Вверх
-ser-
Дата 20.6.2005, 04:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 5
Всего: 13



задачка на тему, как с помощью современного компьютера эмулировать работу Большой Вычислительной Машины образца 80 года.

посмотри IList Interface и, например ArrayList. используя их можно реализовать все что угодно.



--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
Domestic Cat
Дата 20.6.2005, 05:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



Цитата(ser @ 19.6.2005, 19:58)
задачка на тему, как с помощью современного компьютера эмулировать работу Большой Вычислительной Машины образца 80 года.

smile
Цитата(ser @ 19.6.2005, 19:58)
посмотри IList Interface и, например ArrayList. используя их можно реализовать все что угодно.

"Использовать" интерфейсы невозможно, их можно имплементировать. Интерфейсы задают интерфейс и более ничего, вся логика пишется программистом.
ArrayList конечно можно пользовать, вообще можно пользовать и массив и обычную реализацию - когда каждая нода содержит ссылку на следующую (или еще и на предыдущую, если двойной лист).
Вот реализация на Java (сорри, но на шарпе не нашел). Думаю переделать будет практически нечего

http://vinci.cs.uiowa.edu/~segre/22c021/Ci...rList.java.html
http://vinci.cs.uiowa.edu/~segre/22c021/Si...ement.java.html


--------------------

PM   Вверх
nikf
Дата 20.6.2005, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 127
Регистрация: 6.6.2005
Где: город-герой Жирно вск

Репутация: нет
Всего: 1



Цитата
Указателей-то нет.
smile очень даже есть...в ансейфе коде раз,
а два : все классы (ссылочные типы) являются указателями. хоть и не называются таковыми.. так что большинство переменных - какраз указатели..
короче в шарпе все делается так же как в плю-плюсе только проще

Это сообщение отредактировал(а) nikf - 20.6.2005, 21:37
PM MAIL   Вверх
Kurt
Дата 20.6.2005, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлеченный
***


Профиль
Группа: Участник Клуба
Сообщений: 1662
Регистрация: 22.8.2003
Где: Краснодар

Репутация: 20
Всего: 36



Цитата
так что большинство переменных - какраз указатели..

Собственно, на основе этого замечания и работает мой код в первом посте - просто я ищу способ реализовать это покрасивше..


--------------------
Для корабля, который не знает куда плыть, нет попутного ветра... ((С) Архимед)
...
Все знают, что это невозможно. Но случайно находится невежда, который этого не знает. Он-то и делает открытие.. ((С) А. Эйнштейн)
PM ICQ   Вверх
-ser-
Дата 21.6.2005, 04:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 1.2.2005

Репутация: 5
Всего: 13



Цитата
имплементировать
не знаю такого слова в русском языке
Цитата
как с помощью современного компьютера эмулировать работу Большой Вычислительной Машины
я имел ввиду списки и придумали в свое время, потому что небыло другого простого механизма создания динамических массивов, стеков, очередей и пр., а сейчас у нас есть для этого исчерпывающий набор в System.Collections


--------------------
"Тонкая, однако, работа." 
PM MAIL ICQ   Вверх
Domestic Cat
Дата 21.6.2005, 04:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 9
Всего: 172



Цитата(ser @ 20.6.2005, 19:18)
не знаю такого слова в русском языке

Ну и что?

Цитата(ser @ 20.6.2005, 19:18)
я имел ввиду списки и придумали в свое время, потому что небыло другого простого механизма создания динамических массивов, стеков, очередей и пр., а сейчас у нас есть для этого исчерпывающий набор в System.Collections

Вообще-то в System.Collections набор далеко не исчерпывающий - это раз. Во-вторых, списки являются коллекциями, обладающими определенными свойствами, отличными от свойств хештейбла, стека, очереди и проч. Они часто используются сами по себе, а также с их помощью реализуют другие структуры данных. Сомневаюсь, чтобы они были придуманы раньше массивов.


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0911 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.