1 / 1 / 0
Регистрация: 09.06.2013
Сообщений: 23
|
|
1 | |
Очередь и стек12.10.2014, 16:23. Показов 2565. Ответов 3
Метки нет (Все метки)
Система состоит из трех процессоров P1, P2, P3, очереди F, стека S и распределителя задач R. В систему поступают запросы на выполнение задач трёх типов – T1, T2 и T3, каждая для своего процессора.
Поступающие запросы ставятся в очередь. Если в начале очереди находится задача Ti и процессор Pi свободен, то распределитель R ставит задачу на выполнение в процессор Pi, а если процессор Pi занят, то распределитель R отправляет задачу в стек и из очереди извлекается следующая задача. Если в вершине стека находится задача, процессор которой в данный момент свободен, то эта задача извлекается и отправляется на выполнение. Система состоит из трех процессоров P1, P2, P3, очереди F, стека S и распределителя задач R. В систему поступают запросы на выполнение задач трёх типов – T1, T2 и T3, каждая для своего процессора. Стек – динамический; очередь – динамическая Не знаю как реализовать данную программу, заранее спасибо
1
|
12.10.2014, 16:23 | |
Ответы с готовыми решениями:
3
Стек и очередь стек и очередь Стек и очередь Стек и очередь |
66 / 66 / 54
Регистрация: 23.09.2012
Сообщений: 212
|
|
12.10.2014, 17:41 | 2 |
albert123456,
Я бы тупо проделал все ,что сказано в условии. Что касается реализации: 1) Поддерживаем для каждого Pi булевский флаг свободен он или нет. 2) В c++ уже есть стек и очередь (#include<stack> #include<queue>). Их должно хватить для задачи. 3) Четко смотрим порядок выполнения 1) Кидаем задание в очередь 2) Достаем задание из очереди 3) Если соответствующий процессор свободен нагружаем его и идем к следующей работе 4) Пока в вершине стека есть задача, которую мы можем выполнить выполняем ее и удаляем из стека. 5) Кладем задачу в стек. 6) Пересчитываем освободился ли кто-то из процессоров.
0
|
1 / 1 / 0
Регистрация: 09.06.2013
Сообщений: 23
|
|
12.10.2014, 18:16 [ТС] | 3 |
2) В c++ уже есть стек и очередь (#include<stack> #include<queue>). Их должно хватить для задачи.
Данными библиотеками нельзя пользоваться( только через структуры. Я сделал прогу но без стека, я не знаю как сделать его
0
|
66 / 66 / 54
Регистрация: 23.09.2012
Сообщений: 212
|
||||||
12.10.2014, 18:40 | 4 | |||||
Ну можно сделать рекурсивную структуру, где в каждой вершине хранится значение и указатель на предыдущую. Тогда мы поддерживаем указатель на вершину стека. Операции будут такими:
1) Push(x) создадим новую структуру со значением x, скажем что предыдущая структура для нее - это вершина стека, затем сделаем ее вершиной стека. 2) Pop() Сделаем вершиной стека предка текущей вершины, вернем значение старой вершины, и удалим ее. Добавлено через 7 минут albert123456, Самая тупая реализация
1
|
12.10.2014, 18:40 | |
12.10.2014, 18:40 | |
Помогаю со студенческими работами здесь
4
стек и очередь Стек и очередь Стек и очередь стек и очередь Список, стек и очередь. Очередь(а выходит стек) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |