Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/14: Рейтинг темы: голосов - 14, средняя оценка - 5.00
8 / 8 / 3
Регистрация: 06.03.2014
Сообщений: 106
1

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

24.03.2014, 21:25. Просмотров 2783. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2014, 21:25
Ответы с готовыми решениями:

Как задать цвет div'a с наивысшим приоритетом
Здравствуйте, уважаемые знатоки JavaScript! Допустим есть такой код: <div style="color: red">...

Поиск потоков с наименьшим приоритетом
Объясните, пожалуйста, как эта функция находит поток с наименьшим приоритетом, как происходит...

Количество процессов с наименьшим приоритетом
Как определить количество процессов с наименьшим приоритетом и как для любого выбранного...

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

6
13529 / 7183 / 1722
Регистрация: 30.01.2014
Сообщений: 12,015
25.03.2014, 00:18 2
yur@, как вариант - сортировка при вставке. В качестве критерия сортировки как раз используется приоритет. Если совсем просто, то можно и без сортировки, хранить элементы очереди в списке, при изъятии из очереди искать элемент с наибольшим (или наименьшим) приоритетом. Будет линейная сложность, зато просто реализовать.
Другие варианты (хотя вместо википедии лучше найти хорошую книжку по алгоритмам):
Двоичная куча
Биномиальная куча
Фибоначчиева куча
0
8 / 8 / 3
Регистрация: 06.03.2014
Сообщений: 106
25.03.2014, 01:12  [ТС] 3
DrOffset, а если работать с приоритетом, то для него нужно создавать отдельное поле в структуре?
0
193 / 173 / 30
Регистрация: 10.07.2012
Сообщений: 800
25.03.2014, 11:20 4
очередь с приоритетами пишется на бинарной куче.
0
13529 / 7183 / 1722
Регистрация: 30.01.2014
Сообщений: 12,015
25.03.2014, 18:52 5
yur@, это зависит от того что является приоритетом. Если же пример синтетический, то можно и создать.
0
8 / 8 / 3
Регистрация: 06.03.2014
Сообщений: 106
25.03.2014, 19:26  [ТС] 6
DrOffset, Последняя цифра числа является его приоритетом
0
13529 / 7183 / 1722
Регистрация: 30.01.2014
Сообщений: 12,015
25.03.2014, 19:39 7
yur@, ну тогда в функции сравнения надо просто сравнивать эти цифры. Отдельное поле не надо.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2014, 19:39

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Очередь с приоритетом
Всем привет . Собственно нужно организовать очередь с приоритетом. Задание: В офисе один...

Очередь с приоритетом
Здравствуйте помогите,пожалуйста , реализовать за один просмотр файла ,содержащего числа, и без...

Очередь с приоритетом
Доброй ночи! Как создать очередь с приоритетом? Объясните пожалуйста. И еще один вопросик:...

Очередь с приоритетом
Помогите, пожалуйста, создать из моего класса очередь с приоритетом(приоритетом является money). ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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