Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
yur@
5 / 5 / 2
Регистрация: 06.03.2014
Сообщений: 106
#1

Очередь с приоритетом. Элементы с наивысшим приоритетом ставятся в начало очереди, с наименьшим – в конец - C++

24.03.2014, 21:25. Просмотров 1351. Ответов 6
Метки нет (Все метки)

Здравствуйте! имеется задание: создать очередь с приоритетом (у каждого элемента свой приоритет). Элементы с наивысшим приоритетом ставятся в начало очереди, с наименьшим – в конец. (Последняя цифра числа является его приоритетом).
Саму функцию вставки в очередь я реализовал, но как быть с приоритетом и как он вообще реализуется?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void INSERT(TPQueue* &pbq,TPQueue* &peq, TElQ newEl)
{
    TPQueue* el=new TPQueue; 
    el->info=newEl;
    el->next=NULL;
    if (!isEmpty(peq)) {    
        peq->next=el;       
        peq=el;             
    } else {        
    peq=el;    
    pbq=el;     
    };
}
Добавлено через 53 минуты
подскажите, пожалуйста...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2014, 21:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Очередь с приоритетом. Элементы с наивысшим приоритетом ставятся в начало очереди, с наименьшим – в конец (C++):

Очереди с приоритетом - C++
Написать функции для работы с очередями с приоритетом. Создание очереди из N элементов (N и значения самих элементов читать из...

Очередь с приоритетом - C++
Здравствуйте! Помогите, пожалуйста! Мне нужно реализовать приоритетную очередь через дерево списков с указанием приоритетов и...

Очередь с приоритетом - C++
есть очередь #include <iostream> #include <queue> using namespace std; int main() { priority_queue<float> q; ...

Очередь с приоритетом - C++
как реализовать очередь с приоритетом на бинарной куче?при том нужно графически вывести на консоль т.к я поняла графический вывод...

Очередь с приоритетом - C++
Помогите, пожалуйста, создать из моего класса очередь с приоритетом(приоритетом является money). #include <iostream> #include...

Очередь с приоритетом - C++
У меня есть задание: 9. Разработать шаблон класса для работы с очередью с приоритетами, выполненной в виде односвязного списка. Тип...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DrOffset
7154 / 4295 / 969
Регистрация: 30.01.2014
Сообщений: 7,099
25.03.2014, 00:18 #2
yur@, как вариант - сортировка при вставке. В качестве критерия сортировки как раз используется приоритет. Если совсем просто, то можно и без сортировки, хранить элементы очереди в списке, при изъятии из очереди искать элемент с наибольшим (или наименьшим) приоритетом. Будет линейная сложность, зато просто реализовать.
Другие варианты (хотя вместо википедии лучше найти хорошую книжку по алгоритмам):
Двоичная куча
Биномиальная куча
Фибоначчиева куча
0
yur@
5 / 5 / 2
Регистрация: 06.03.2014
Сообщений: 106
25.03.2014, 01:12  [ТС] #3
DrOffset, а если работать с приоритетом, то для него нужно создавать отдельное поле в структуре?
0
salam
163 / 144 / 12
Регистрация: 10.07.2012
Сообщений: 728
25.03.2014, 11:20 #4
очередь с приоритетами пишется на бинарной куче.
0
DrOffset
7154 / 4295 / 969
Регистрация: 30.01.2014
Сообщений: 7,099
25.03.2014, 18:52 #5
yur@, это зависит от того что является приоритетом. Если же пример синтетический, то можно и создать.
0
yur@
5 / 5 / 2
Регистрация: 06.03.2014
Сообщений: 106
25.03.2014, 19:26  [ТС] #6
DrOffset, Последняя цифра числа является его приоритетом
0
DrOffset
7154 / 4295 / 969
Регистрация: 30.01.2014
Сообщений: 7,099
25.03.2014, 19:39 #7
yur@, ну тогда в функции сравнения надо просто сравнивать эти цифры. Отдельное поле не надо.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2014, 19:39
Привет! Вот еще темы с ответами:

Очередь с приоритетом - C++
Всем привет . Собственно нужно организовать очередь с приоритетом. Задание: В офисе один принтер, на печать должны подоватся те...

Очередь с приоритетом - C++
Разработать функции работы с приоритетной очередью. Постановка запросов в очередь выполняется по приоритету, снятие - подряд из старших...

Очередь с приоритетом - C++
Здравствуйте! Нужна ваша помощь! Не могу разобраться в чём проблема. Создаю очередь с приоритетом(шаблонный класс) с типом данных Job....

Очередь с приоритетом - C++
Доброго времени суток, дорогие программисты, вот сдаю экзамены, попался такой вопрос "Очередь с приоритетом. Основные операции для работы с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.03.2014, 19:39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru