Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как организовать очередь? Добавлено: 07.03.06 14:38  

Автор вопроса:  вячеслав
Кто знает как организовать очередь типа FIFO?
Т.Е. значения из поля добавляются в конец списка, а удаляются из начала. Может есть примеры?

Ответить

  Ответы Всего ответов: 5  

Номер ответа: 1
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #1 Добавлено: 07.03.06 15:16
Используй двусвязные списки (типа LIST_ENTRY)

Ответить

Номер ответа: 2
Автор ответа:
 вячеслав



Вопросов: 3
Ответов: 14
 Профиль | | #2 Добавлено: 07.03.06 15:26
Больно круто...

Ответить

Номер ответа: 3
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #3 Добавлено: 07.03.06 16:22
Что здесь крутого? Очень простая система. Несколько элементов (можно в массив организовать) типа такой структуры:
Type LIST
    NextEntryPtr As Long
    PrevEntryPtr As Long
    EntryValPtr  As String 'или другой тип данных
End Type

Dim Entries(0 to 2) As LIST
Entries(0).NextEntryPtr = VarPtr(Entries(1).NextEntryPtr
Entries(1).NextEntryPtr = VarPtr(Entries(2).NextEntryPtr
Entries(2).NextEntryPtr = VarPtr(Entries(0).NextEntryPtr


и так же PrevEntryPtr (а можно и без них, если удалять всегда первый)

Ответить

Номер ответа: 4
Автор ответа:
 HOOLIGAN



Вопросов: 0
Ответов: 1066
 Профиль | | #4 Добавлено: 07.03.06 16:29
А можно и без массива, даже удобнее будет.
Просто закольцованные несколько переменных. Преимущество перед массивом - любой из кольца модно назначить первым, и не надо перемещать данные при удалении первого, как в массиве.

Ответить

Номер ответа: 5
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #5 Добавлено: 07.03.06 18:03
Надо сднлать класс: медоды Положить(Put),Взять(Get), свойство Размер(Size) и события НачатоПоложить, КонецПоложить, НачалоВзять, КонецВзять(BeginPut,EndPut,BeginGet,EndGet).

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам