Страница: 1 |
|
Вопрос: Как организовать очередь?
|
Добавлено: 07.03.06 14:38
|
|
Автор вопроса: вячеслав
|
Кто знает как организовать очередь типа FIFO?
Т.Е. значения из поля добавляются в конец списка, а удаляются из начала. Может есть примеры?
Ответить
|
Номер ответа: 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
|
А можно и без массива, даже удобнее будет.
Просто закольцованные несколько переменных. Преимущество перед массивом - любой из кольца модно назначить первым, и не надо перемещать данные при удалении первого, как в массиве.
Ответить
|
Страница: 1 |
Поиск по форуму