Re: Живая очередь с приоритетами
От: March_rabbit  
Дата: 24.06.10 09:17
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Допустим существует пять операций и 10 диапазонный приоритет:


А>Операция 1 — 10 приоритет

А>Операция 2 — 8 приоритет
А>Операция 3 — 6 приоритет
А>Операция 4 — 5 приоритет
А>Операция 5 — 2 приоритет

А>В кассу должны подходить люди чаще с высоким приоритетом операции — но и иногда пропускать операции с низкими приоритетами.

А>Подскажите алгоритм более подходящий для живой очереди в кассу.
помнится, для своих служебных задач реализовал это так (просто и быстро, с похожим на правду результатом):
1) Сложим все приоритеты, получим число 31
2) сделаем массив длиной 31 элемент и заполним его числами от 1 до 5, количество — берем из приоритетов (то есть 10 единиц, 5 четверок....)
3) перемешали массив
4) проходим по массиву, элемент — это номер текущей операции.

Распределение операций получается не особо хорошее, но уже от задачи зависит, критично ли оно там. Мне было не критично.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.