![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| max07 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
Здрасте,
Такой вопрос: интересно как реализоват на С# такой список как на картинке? И ещё, как правельно он называется по русски или английски? Спасибо всем кто ответит. Присоединённый файл ( Кол-во скачиваний: 43 )
spisok.jpg 7,65 Kb |
|||
|
||||
| Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: 8 Всего: 17 |
Вот это не подойдет?
-------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
max07, что-то я не могу врубиться что за список на картинке...
Первая колонка, вроде, массив, а потом пошёл связный список... Фигня какая-то. Это не базовая конструкция. Так что название будет только у того автора, кот его придумал (только он же его и использует). P.S. Могу только предположить: Arrayed Linked List либо Array of Linked Lists и Массив Связных Списков Experimenter, TreeView это визуальный контрол, а не способ хранения данных (как спрашивает автор топика). Это сообщение отредактировал(а) ivashkanet - 27.9.2007, 08:06 |
|||
|
||||
| Experimenter |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 430 Регистрация: 8.5.2007 Где: Уфа Репутация: 8 Всего: 17 |
ivashkanet, сморозил, есть немного.
-------------------- public Zlo FromTwoEvilsChooseSmaller(Zlo zlo1, Zlo zlo2){ if(zlo1 < zlo2) return zlo1; else if(zlo1 > zlo2) return zlo2; else throw new Exception("Kill yourself by the wall"); } |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
max07, кстати, таким способом реализуется Хэш-таблица (но об этом знают только те, кто в ее устройство залазил).
Если интересно, то поищи в Гугле P.S. Experimenter, со всеми бывает ;-) |
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Нам на лекциях показывали такой список перед тем как учили хештейбл. Как его препод называл - непомню, но препод мог сам придумать хз че - он такой -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| max07 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
Да такими списками реализуется хэш таблица попытался перевести с языка на котором есть название: развлетвлённый динамический список.
ещё такой пример (см. картинку) Присоединённый файл ( Кол-во скачиваний: 19 )
Untitled.jpg 6,16 Kb |
|||
|
||||
| ivashkanet |
|
|||
![]() Кодю потиху ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3684 Регистрация: 23.2.2006 Где: Гомель, Беларусь Репутация: 47 Всего: 149 |
max07, я знаю! Это игра Угадайка! правильно?
|
|||
|
||||
| max07 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
Нет, извиняюсь что так выражаю вопрос, но больше не имею никакой информации
|
|||
|
||||
| archeg |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 612 Регистрация: 6.1.2007 Где: Киев Репутация: 11 Всего: 27 |
Как называется - хз) думаю тот второй рисунок точно не имеет названия. Но реализация например такая:
Второй рисунок
Первый рисунок от второго отличается тем что вместо StartNode (списка списков) используется массив. Писал прямо в браузере, может где-то че не поставил или забыл. Это пример, написал специаьно так чтобы было ясно что оно есть на самом деле З.Ы. Что до названия то думаю эт просто "список списков" Это сообщение отредактировал(а) archeg - 27.9.2007, 13:13 -------------------- ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru) Дядька всегда можно спросить в аське, если не задалбывать - не откажет И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои ;) |
|||
|
||||
| thomas |
|
|||
![]() Доцент... почти ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1385 Регистрация: 3.10.2006 Где: " Сказочное королевство" Репутация: 6 Всего: 65 |
max07,
Привет. Я так понимаю, это все от сюда. На картинках показаны комбинации из различных видов коллекций в коллекции(см. ссылку) ЗЫ вот вечером нарыл еще статей на эту тему тут в СЕРЕДИНКЕ. Это сообщение отредактировал(а) thomas - 27.9.2007, 22:39 -------------------- Крепко жму горло, искренне ваш Thomas. (С)vingrad Некоторые сорта флоры буквально за одно мгновение превращают нас в фауну! Проблемы негров шерифа не волнуют. |
|||
|
||||
| max07 |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 178 Регистрация: 21.12.2004 Репутация: нет Всего: нет |
Спасибо за ответы, хотел ещё узнать как реализовать эти вложенные друг в друга списки с помощью List<T>, с ним может проше будет? да и быстрее работать?
|
|||
|
||||
| marcusmae |
|
|||
![]() stravaganza ![]() ![]() Профиль Группа: Участник Сообщений: 874 Регистрация: 26.3.2006 Репутация: 22 Всего: 39 |
max07, приведённые иллюстрации можно назвать, если угодно, деревьями. Впрочем, конструкции неоднородны и далеки от какого-либо канонического вида
Имхо, неплохая книжка по сабжу : Никлаус Вирт "Алгоритмы и структуры данных", гл. 4 : "Данные с динамической структурой". Юзал, когда готовился к экзамену по алгоритмическим языкам давно-давно на 1ом курсе На картинках комбинируются элементы двоичных деревьев (когда элемент состоит из значения и двух указателей на следующие элементы) и однонаправленных списков (когда элемент состоит из значения и указателя на следующий элемент). Ещё бывают двунаправленные списки (когда элемент содержит значение, указатель на пред. элемент и указатель на следующий), кольцевые списки и ещё всякая разная экзотика, какую только можно придумать.
Видите ли в чём дело, Вам надо бы собирать динамические объекты из элементов, но List<T> и все остальное, что есть в System.Collections.Generic предлагает уже готовый объект, причём детали его реализации скрыты. Все эти конструкции логичнее было бы реализовывать на до-.NETовых языках, ручками создавая типы элементов. Или если очень уж хочется под .NET, то так же ручками, примерно как предлагает archeg (только, может, вместо классов использовать структуры). Это сообщение отредактировал(а) marcusmae - 29.9.2007, 13:53 -------------------- ἀπὸ μηχανῆς θεός |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |